From: Jon Seymour Date: Tue, 24 Aug 2010 04:52:42 +0000 (+1000) Subject: rev-parse: exit with non-zero status if ref@{n} is not valid. X-Git-Tag: v1.7.3-rc0~4^2~3 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=e6eedc3;p=git.git 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. cfb88e9a8d4926b0011ae2dd67e1f57a98f4b768 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 Signed-off-by: Junio C Hamano --- diff --git a/sha1_name.c b/sha1_name.c index 4f2af8da9..90ad430a8 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -430,10 +430,11 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1) "warning: Log for '%.*s' only goes " "back to %s.\n", len, str, show_date(co_time, co_tz, DATE_RFC2822)); - else - fprintf(stderr, - "warning: Log for '%.*s' only has " - "%d entries.\n", len, str, co_cnt); + else { + free(real_ref); + die("Log for '%.*s' only has %d entries.", + len, str, co_cnt); + } } }