summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-08-11 06:21:25 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-08-11 06:21:25 (GMT)
commit55beff4f536011e5d7f17ae63911f1bb56308feb (patch)
tree63868faf3b0347dc3750be3882847ffb8c138351
parent38881a9066fcb3ce6e0438e6d7b20cce22ece411 (diff)
downloadgit-55beff4f536011e5d7f17ae63911f1bb56308feb.zip
git-55beff4f536011e5d7f17ae63911f1bb56308feb.tar.gz
git-55beff4f536011e5d7f17ae63911f1bb56308feb.tar.bz2
Fix deleting reflog entries from HEAD reflog
dwim_ref() used to resolve HEAD symbolic ref to its target (i.e. current branch). This incorrectly removed the reflog entry from the current branch when 'git reflog delete HEAD@{1}' was asked for. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-reflog.c4
-rwxr-xr-xt/t1410-reflog.sh2
2 files changed, 3 insertions, 3 deletions
diff --git a/builtin-reflog.c b/builtin-reflog.c
index 125d455..7d7047d 100644
--- a/builtin-reflog.c
+++ b/builtin-reflog.c
@@ -604,8 +604,8 @@ static int cmd_reflog_delete(int argc, const char **argv, const char *prefix)
continue;
}
- if (!dwim_ref(argv[i], spec - argv[i], sha1, &ref)) {
- status |= error("%s points nowhere!", argv[i]);
+ if (!dwim_log(argv[i], spec - argv[i], sha1, &ref)) {
+ status |= error("no reflog for '%s'", argv[i]);
continue;
}
diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh
index 3b9860e..5b24f05 100755
--- a/t/t1410-reflog.sh
+++ b/t/t1410-reflog.sh
@@ -175,7 +175,7 @@ test_expect_success 'recover and check' '
'
-test_expect_failure 'delete' '
+test_expect_success 'delete' '
echo 1 > C &&
test_tick &&
git commit -m rat C &&