Browse Source

builtin remote rm: remove symbolic refs, too

"git remote add" can add a symbolic ref "HEAD", and "rm" should delete
it, too.

Noticed by Teemu Likonen.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Johannes Schindelin 17 years ago committed by Junio C Hamano
parent
commit
3b9dcff5df
  1. 5
      builtin-remote.c
  2. 1
      t/t5505-remote.sh

5
builtin-remote.c

@ -264,6 +264,11 @@ static int add_branch_for_removal(const char *refname, @@ -264,6 +264,11 @@ static int add_branch_for_removal(const char *refname,

if (!prefixcmp(refname, branches->prefix)) {
struct path_list_item *item;

/* make sure that symrefs are deleted */
if (flags & REF_ISSYMREF)
return unlink(git_path(refname));

item = path_list_append(refname, branches->branches);
item->util = xmalloc(20);
hashcpy(item->util, sha1);

1
t/t5505-remote.sh

@ -80,6 +80,7 @@ test_expect_success 'add another remote' ' @@ -80,6 +80,7 @@ test_expect_success 'add another remote' '
test_expect_success 'remove remote' '
(
cd test &&
git symbolic-ref refs/remotes/second/HEAD refs/remotes/second/master &&
git remote rm second
)
'

Loading…
Cancel
Save