Commit 3e5c6394 authored by Junio C Hamano's avatar Junio C Hamano

Merge branch 'rl/remote-allow-missing-branch-name-merge'

"git remote rm X", when a branch has remote X configured as the
value of its branch.*.remote, tried to remove branch.*.remote and
branch.*.merge and failed if either is unset.

* rl/remote-allow-missing-branch-name-merge:
  remote: ignore failure to remove missing branch.<name>.merge
parents c13c783c 20690b21
......@@ -769,7 +769,9 @@ static int rm(int argc, const char **argv)
strbuf_addf(&buf, "branch.%s.%s",
item->string, *k);
git_config_set(buf.buf, NULL);
result = git_config_set_gently(buf.buf, NULL);
if (result && result != CONFIG_NOTHING_SET)
die(_("could not unset '%s'"), buf.buf);
......@@ -153,6 +153,25 @@ test_expect_success 'remove errors out early when deleting non-existent branch'
test_expect_success 'remove remote with a branch without configured merge' '
test_when_finished "(
git -C test checkout master;
git -C test branch -D two;
git -C test config --remove-section remote.two;
git -C test config --remove-section branch.second;
)" &&
cd test &&
git remote add two ../two &&
git fetch two &&
git checkout -b second two/master^0 &&
git config branch.second.remote two &&
git checkout master &&
git remote rm two
test_expect_success 'rename errors out early when deleting non-existent branch' '
cd test &&
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment