@leroysheep / LeeRoySheep / commits / 52f2dfb084

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>

Karthik Nayak committed Mar 14, 2025 at 09:40 UTC 52f2dfb08413d8be6ecbe86271dfe92e33cb67a2
2 files changed +3 -3
builtin/reflog.c
+1 -1
index 95f264989b..762719315e 100644 --- a/builtin/reflog.c +++ b/builtin/reflog.c @@ -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);
t/t1410-reflog.sh
+2 -2
index 388fdf9ae5..1f7249be76 100755 --- a/t/t1410-reflog.sh +++ b/t/t1410-reflog.sh @@ -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' '