cat-file: restore warn_on_object_refname_ambiguity flag

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>

Jeff King committed Mar 12, 2014 at 16:05 UTC a42fcd15d82b6660377749064e0ad25742ccc6f7
1 file changed +3
builtin/cat-file.c
+3
@@ -260,6 +260,7 @@ static int batch_objects(struct batch_options *opt)
260 {
261 struct strbuf buf = STRBUF_INIT;
262 struct expand_data data;
263 + int save_warning;
264 int retval = 0;
265
266 if (!opt->format)
@@ -282,6 +283,7 @@ static int batch_objects(struct batch_options *opt)
283 * warn) ends up dwarfing the actual cost of the object lookups
284 * themselves. We can work around it by just turning off the warning.
285 */
286 + save_warning = warn_on_object_refname_ambiguity;
287 warn_on_object_refname_ambiguity = 0;
288
289 while (strbuf_getline(&buf, stdin, '\n') != EOF) {
@@ -305,6 +307,7 @@ static int batch_objects(struct batch_options *opt)
307 }
308
309 strbuf_release(&buf);
310 + warn_on_object_refname_ambiguity = save_warning;
311 return retval;
312 }
313