summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2014-03-12 16:05:43 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-03-13 11:56:17 -0700
commita42fcd15d82b6660377749064e0ad25742ccc6f7 (patch)
tree4dd5d64f340b049cfb92935a0da3752c9c424231
parentcat-file: fix a minor memory leak in batch_objects (diff)
downloadtgif-a42fcd15d82b6660377749064e0ad25742ccc6f7.tar.xz
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>
-rw-r--r--builtin/cat-file.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin/cat-file.c b/builtin/cat-file.c
index 1fdb980258..cc863ff78c 100644
--- a/builtin/cat-file.c
+++ b/builtin/cat-file.c
@@ -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;
}