diff options
-rw-r--r-- | cache.h | 2 | ||||
-rw-r--r-- | sha1_name.c | 7 |
2 files changed, 6 insertions, 3 deletions
@@ -811,6 +811,8 @@ struct object_context { unsigned mode; }; +#define GET_SHA1_QUIETLY 01 + extern int get_sha1(const char *str, unsigned char *sha1); extern void maybe_die_on_misspelt_object_name(const char *name, const char *prefix); extern int get_sha1_with_context(const char *str, unsigned char *sha1, struct object_context *orc); diff --git a/sha1_name.c b/sha1_name.c index c824bdd3eb..793d80cbf9 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -219,12 +219,13 @@ static int finish_object_disambiguation(struct disambiguate_state *ds, } static int get_short_sha1(const char *name, int len, unsigned char *sha1, - int quietly) + unsigned flags) { int i, status; char hex_pfx[40]; unsigned char bin_pfx[20]; struct disambiguate_state ds; + int quietly = !!(flags & GET_SHA1_QUIETLY); if (len < MINIMUM_ABBREV || len > 40) return -1; @@ -272,7 +273,7 @@ const char *find_unique_abbrev(const unsigned char *sha1, int len) return hex; while (len < 40) { unsigned char sha1_ret[20]; - status = get_short_sha1(hex, len, sha1_ret, 1); + status = get_short_sha1(hex, len, sha1_ret, GET_SHA1_QUIETLY); if (exists ? !status : status == SHORT_NAME_NOT_FOUND) { @@ -603,7 +604,7 @@ static int get_describe_name(const char *name, int len, unsigned char *sha1) if (ch == 'g' && cp[-1] == '-') { cp++; len -= cp - name; - return get_short_sha1(cp, len, sha1, 1); + return get_short_sha1(cp, len, sha1, GET_SHA1_QUIETLY); } } } |