Skip to content

Commit

Permalink
Merge branch 'rl/remote-allow-missing-branch-name-merge' into next
Browse files Browse the repository at this point in the history
"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
  • Loading branch information
gitster committed Feb 22, 2017
2 parents 8257025 + 20690b2 commit cbe923c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
4 changes: 3 additions & 1 deletion builtin/remote.c
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,9 @@ static int rm(int argc, const char **argv)
strbuf_reset(&buf);
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);
}
}
}
Expand Down
19 changes: 19 additions & 0 deletions t/t5505-remote.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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;
true
)" &&
(
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 &&
Expand Down

0 comments on commit cbe923c

Please sign in to comment.