reflog: improve error for when reflog is not found

The 'git reflog expire' prints the error message '<ref> points nowhere!'
when used with a non-existent ref. This message is a bit confusing and
vague. Modify the message to be more clear and direct.

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Karthik Nayak
2025-03-14 09:40:34 +01:00
committed by Junio C Hamano
parent a36e024e98
commit 52f2dfb084
2 changed files with 3 additions and 3 deletions

View File

@@ -383,7 +383,7 @@ static int cmd_reflog_expire(int argc, const char **argv, const char *prefix,
struct expire_reflog_policy_cb cb = { .cmd = cmd };
if (!repo_dwim_log(the_repository, argv[i], strlen(argv[i]), NULL, &ref)) {
status |= error(_("%s points nowhere!"), argv[i]);
status |= error(_("reflog could not be found: '%s'"), argv[i]);
continue;
}
set_reflog_expiry_param(&cb.cmd, ref);

View File

@@ -315,9 +315,9 @@ test_expect_success 'git reflog expire unknown reference' '
test_config gc.reflogexpireunreachable never &&
test_must_fail git reflog expire main@{123} 2>stderr &&
test_grep "points nowhere" stderr &&
test_grep "error: reflog could not be found: ${SQ}main@{123}${SQ}" stderr &&
test_must_fail git reflog expire does-not-exist 2>stderr &&
test_grep "points nowhere" stderr
test_grep "error: reflog could not be found: ${SQ}does-not-exist${SQ}" stderr
'
test_expect_success 'checkout should not delete log for packed ref' '