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>
This commit is contained in:
parent
38881a9066
commit
55beff4f53
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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 &&
|
||||
|
Loading…
Reference in New Issue
Block a user