Skip to content

Commit e6eedc3

Browse files
jonseymourgitster
authored andcommitted
rev-parse: exit with non-zero status if ref@{n} is not valid.
"The current behaviour of ref@{...} syntax parser is suboptimal: $ git rev-parse --verify jch@{99999} && echo true warning: Log for 'jch' only has 1368 entries. cfb88e9 true It even knows that it is running off the cut-off point; it should just cause the caller to notice that fact. I don't think changing it to error out should cause any harm to existing callers." With this change: $ git rev-parse --verify jch@{99999} || echo false fatal: Log for 'jch' only has 1368 entries. false $ git rev-parse jch@{99999} || echo false fatal: Log for 'jch' only has 1368 entries. false Signed-off-by: Jon Seymour <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 64fdc08 commit e6eedc3

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

sha1_name.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -430,10 +430,11 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
430430
"warning: Log for '%.*s' only goes "
431431
"back to %s.\n", len, str,
432432
show_date(co_time, co_tz, DATE_RFC2822));
433-
else
434-
fprintf(stderr,
435-
"warning: Log for '%.*s' only has "
436-
"%d entries.\n", len, str, co_cnt);
433+
else {
434+
free(real_ref);
435+
die("Log for '%.*s' only has %d entries.",
436+
len, str, co_cnt);
437+
}
437438
}
438439
}
439440

0 commit comments

Comments
 (0)