summaryrefslogtreecommitdiff
path: root/builtin/diff-tree.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-04-28 10:46:04 -0700
committerJunio C Hamano <gitster@pobox.com>2022-04-28 10:46:04 -0700
commit3da993f2e63864668ca7ae1a91c351684aec319d (patch)
treec9fa6b5145e6f5918d79eb3e51f14bf344402164 /builtin/diff-tree.c
parent740deeadd3d2c10b8a98573fdf65aa433a0bf816 (diff)
parentf8781bfda31756acdc0ae77da7e70337aedae7c9 (diff)
Merge branch 'jc/diff-tree-stdin-fix'
"diff-tree --stdin" has been broken for about a year, but 2.36 release broke it even worse by breaking running the command with <pathspec>, which in turn broke "gitk" and got noticed. This has been corrected by aligning its behaviour to that of "log". * jc/diff-tree-stdin-fix: 2.36 gitk/diff-tree --stdin regression fix
Diffstat (limited to 'builtin/diff-tree.c')
-rw-r--r--builtin/diff-tree.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin/diff-tree.c b/builtin/diff-tree.c
index 0e0ac1f167..116097a404 100644
--- a/builtin/diff-tree.c
+++ b/builtin/diff-tree.c
@@ -195,6 +195,7 @@ int cmd_diff_tree(int argc, const char **argv, const char *prefix)
int saved_dcctc = 0;
opt->diffopt.rotate_to_strict = 0;
+ opt->diffopt.no_free = 1;
if (opt->diffopt.detect_rename) {
if (!the_index.cache)
repo_read_index(the_repository);
@@ -217,6 +218,8 @@ int cmd_diff_tree(int argc, const char **argv, const char *prefix)
}
opt->diffopt.degraded_cc_to_c = saved_dcctc;
opt->diffopt.needed_rename_limit = saved_nrl;
+ opt->diffopt.no_free = 0;
+ diff_free(&opt->diffopt);
}
return diff_result_code(&opt->diffopt, 0);