On Tue, Jan 7, 2014 at 10:32 AM, Brodie Rao <brodie@xxxxx> wrote: > This change ensures get_sha1_basic() doesn't try to resolve full hashes > as refs when ambiguous ref warnings are disabled. > > This provides a substantial performance improvement when passing many > hashes to a command (like "git rev-list --stdin") when > core.warnambiguousrefs is false. The check incurs 6 stat()s for every > hash supplied, which can be costly over NFS. > --- > sha1_name.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sha1_name.c b/sha1_name.c > index e9c2999..10bd007 100644 > --- a/sha1_name.c > +++ b/sha1_name.c > @@ -451,9 +451,9 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1) > int at, reflog_len, nth_prior = 0; > > if (len == 40 && !get_sha1_hex(str, sha1)) { > - if (warn_on_object_refname_ambiguity) { > + if (warn_ambiguous_refs && warn_on_object_refname_ambiguity) { > refs_found = dwim_ref(str, len, tmp_sha1, &real_ref); > - if (refs_found > 0 && warn_ambiguous_refs) { > + if (refs_found > 0) { > warning(warn_msg, len, str); > if (advice_object_name_warning) > fprintf(stderr, "%s\n", _(object_name_msg)); Looks obviously correct. Thanks. -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html