Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/diff.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-06-18 07:54:00 +0300
committerJunio C Hamano <gitster@pobox.com>2020-06-18 07:54:00 +0300
commit0cd0afc9c6193dd4a762f5a2d1bc23e58629b23f (patch)
tree092f30dc03f30dbc6875dabbeee644ab4df2ee65 /diff.c
parenteebb51ba8cab97c0b3f3f18eaab7796803b8494b (diff)
parentd2d7fbe12945dd9032c9c7c14a4563dbecc7e629 (diff)
Merge branch 'jk/diff-memuse-optim-with-stat-unmatch'
Reduce memory usage during "diff --quiet" in a worktree with too many stat-unmatched paths. * jk/diff-memuse-optim-with-stat-unmatch: diff: discard blob data from stat-unmatched pairs
Diffstat (limited to 'diff.c')
-rw-r--r--diff.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/diff.c b/diff.c
index 863da896c0..d24aaa3047 100644
--- a/diff.c
+++ b/diff.c
@@ -6763,8 +6763,11 @@ void diff_change(struct diff_options *options,
return;
if (options->flags.quick && options->skip_stat_unmatch &&
- !diff_filespec_check_stat_unmatch(options->repo, p))
+ !diff_filespec_check_stat_unmatch(options->repo, p)) {
+ diff_free_filespec_data(p->one);
+ diff_free_filespec_data(p->two);
return;
+ }
options->flags.has_changes = 1;
}