@matheusbsbs / matheus-bagliano / commits / e6eedc31d5
Fork 0

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 <jon.seymour@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jon Seymour committed Aug 24, 2010 at 14:52 UTC e6eedc31d5c3d448d000eecb678ce891a4800b54
1 file changed +5 -4
sha1_name.c
+5 -4
@@ -430,10 +430,11 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
430 "warning: Log for '%.*s' only goes "
431 "back to %s.\n", len, str,
432 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 + }
438 }
439 }
440