]> granicus.if.org Git - git/commitdiff
cat-file: restore warn_on_object_refname_ambiguity flag
authorJeff King <peff@peff.net>
Wed, 12 Mar 2014 20:05:43 +0000 (16:05 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 Mar 2014 18:56:17 +0000 (11:56 -0700)
Commit 25fba78 turned off the object/refname ambiguity check
during "git cat-file --batch" operations. However, this is a
global flag, so let's restore it when we are done.

This shouldn't make any practical difference, as cat-file
exits immediately afterwards, but is good code hygeine and
would prevent an unnecessary surprise if somebody starts to
call cmd_cat_file later.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/cat-file.c

index 1fdb98025885dbe5141982ce34064a2987a68a13..cc863ff78c1b7f4029f8c3a2011c5bd0054a3b84 100644 (file)
@@ -260,6 +260,7 @@ static int batch_objects(struct batch_options *opt)
 {
        struct strbuf buf = STRBUF_INIT;
        struct expand_data data;
+       int save_warning;
        int retval = 0;
 
        if (!opt->format)
@@ -282,6 +283,7 @@ static int batch_objects(struct batch_options *opt)
         * warn) ends up dwarfing the actual cost of the object lookups
         * themselves. We can work around it by just turning off the warning.
         */
+       save_warning = warn_on_object_refname_ambiguity;
        warn_on_object_refname_ambiguity = 0;
 
        while (strbuf_getline(&buf, stdin, '\n') != EOF) {
@@ -305,6 +307,7 @@ static int batch_objects(struct batch_options *opt)
        }
 
        strbuf_release(&buf);
+       warn_on_object_refname_ambiguity = save_warning;
        return retval;
 }