From 297a1aadbe22c978dca60d6512e5c851ebc6688c Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 10 Feb 2006 01:51:12 -0800 Subject: find_unique_abbrev() simplification. Earlier it did not grok the 0{40} SHA1 very well, but what it needed to do was to find the shortest 0{N} that is not used as a valid object name to be consistent with the way names of valid objects are abbreviated. This makes some users simpler. Signed-off-by: Junio C Hamano --- diff.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'diff.c') diff --git a/diff.c b/diff.c index ec51e7dd18..890bdaa6b8 100644 --- a/diff.c +++ b/diff.c @@ -963,7 +963,7 @@ void diff_free_filepair(struct diff_filepair *p) } /* This is different from find_unique_abbrev() in that - * it needs to deal with 0{40} SHA1. + * it stuffs the result with dots for alignment. */ const char *diff_unique_abbrev(const unsigned char *sha1, int len) { @@ -973,16 +973,8 @@ const char *diff_unique_abbrev(const unsigned char *sha1, int len) return sha1_to_hex(sha1); abbrev = find_unique_abbrev(sha1, len); - if (!abbrev) { - if (!memcmp(sha1, null_sha1, 20)) { - char *buf = sha1_to_hex(null_sha1); - if (len < 37) - strcpy(buf + len, "..."); - return buf; - } - else - return sha1_to_hex(sha1); - } + if (!abbrev) + return sha1_to_hex(sha1); abblen = strlen(abbrev); if (abblen < 37) { static char hex[41]; -- cgit v1.2.3