From: Johan Herland Date: Tue, 16 Oct 2012 13:44:54 GMT Subject: [PATCH 5/5] branch -d: Fix failure to remove branch aliases (symrefs) Message-ID: <1350395094-11404-6-git-send-email-johan@herland.net> In-Reply-To: <1350395094-11404-1-git-send-email-johan@herland.net> With refs/heads/alias set up as a symref to refs/heads/master, 'git branch -d alias' should remove refs/heads/alias and not refs/heads/master. Signed-off-by: Johan Herland --- builtin/branch.c | 2 +- t/t3220-symbolic-ref-as-branch-alias.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/builtin/branch.c b/builtin/branch.c index ffd2684..31af114 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -221,7 +221,7 @@ static int delete_branches(int argc, const char **argv, int force, int kinds, continue; } - if (delete_ref(name, sha1, 0)) { + if (delete_ref(name, sha1, REF_NODEREF)) { error(remote_branch ? _("Error deleting remote branch '%s'") : _("Error deleting branch '%s'"), diff --git a/t/t3220-symbolic-ref-as-branch-alias.sh b/t/t3220-symbolic-ref-as-branch-alias.sh index 39f3a33..8ebec7a 100755 --- a/t/t3220-symbolic-ref-as-branch-alias.sh +++ b/t/t3220-symbolic-ref-as-branch-alias.sh @@ -43,7 +43,7 @@ test_expect_success 'commits are reflected through "alias" symref' ' test_cmp expect alias ' -test_expect_failure '"branch -d" deletes the "alias" symref' ' +test_expect_success '"branch -d" deletes the "alias" symref' ' git branch -d alias && git rev-parse --verify master > master && test_must_fail git rev-parse --verify alias && -- 1.7.12.1.609.g5cd6968