add--interactive: respect diff.compactionHeuristic
authorJeff King <peff@peff.net>
Thu, 16 Jun 2016 12:27:29 +0000 (08:27 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Jun 2016 18:38:58 +0000 (11:38 -0700)
We use plumbing to generate the diff, so it doesn't
automatically pick up UI config like compactionHeuristic.
Let's forward it on, since interactive adding is porcelain.

Note that we only need to handle the "true" case. There's no
point in passing --no-compaction-heuristic when the variable
is false, since nothing else could have turned it on.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-add--interactive.perl
index 822f857038e9b807fc6737952cc52b1782dc7947..642cce1ac6e158207f4273d4e1bf1e7928865b18 100755 (executable)
@@ -45,6 +45,7 @@
 my $normal_color = $repo->get_color("", "reset");
 
 my $diff_algorithm = $repo->config('diff.algorithm');
+my $diff_compaction_heuristic = $repo->config_bool('diff.compactionheuristic');
 my $diff_filter = $repo->config('interactive.difffilter');
 
 my $use_readkey = 0;
@@ -749,6 +750,9 @@ sub parse_diff {
        if (defined $diff_algorithm) {
                splice @diff_cmd, 1, 0, "--diff-algorithm=${diff_algorithm}";
        }
+       if ($diff_compaction_heuristic) {
+               splice @diff_cmd, 1, 0, "--compaction-heuristic";
+       }
        if (defined $patch_mode_revision) {
                push @diff_cmd, get_diff_reference($patch_mode_revision);
        }