remote: ignore failure to remove missing branch.<name>.merge
authorRoss Lagerwall <rosslagerwall@gmail.com>
Sat, 18 Feb 2017 00:23:41 +0000 (00:23 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Feb 2017 21:57:41 +0000 (13:57 -0800)
commit20690b213975ad3e9b1bc851f434d818bd2d1de9
tree7b4a8cbab33be1b7cbc41ed235fbc124d254f4bd
parent3b9e3c2cede15057af3ff8076c45ad5f33829436
remote: ignore failure to remove missing branch.<name>.merge

It is not all too unusual for a branch to use "branch.<name>.remote"
without "branch.<name>.merge".  You may be using the 'push.default'
configuration set to 'current', for example, and do

    $ git checkout -b side colleague/side
    $ git config branch.side.remote colleague

However, "git remote rm" to remove the remote used in such a manner
fails with

    "fatal: could not unset 'branch.<name>.merge'"

because it assumes that a branch that has .remote defined must also
have .merge defined.  Detect the "cannot unset because it is not set
to begin with" case and ignore it.

Signed-off-by: Ross Lagerwall <rosslagerwall@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/remote.c
t/t5505-remote.sh