diff options
author | Jon Seymour <jon.seymour@gmail.com> | 2010-08-24 14:52:42 +1000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-08-24 10:46:11 -0700 |
commit | e6eedc31d5c3d448d000eecb678ce891a4800b54 (patch) | |
tree | 0c04fa67152efb2f8f2ec8d9f368665580d2e622 /sha1_name.c | |
parent | 64fdc08dac6694d1e754580e7acb82dfa4988bb9 (diff) | |
download | git-e6eedc31d5c3d448d000eecb678ce891a4800b54.tar.gz |
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>
Diffstat (limited to 'sha1_name.c')
-rw-r--r-- | sha1_name.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sha1_name.c b/sha1_name.c index 4f2af8da93..90ad430a86 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); + } } } |