aboutsummaryrefslogtreecommitdiff
path: root/revision.c
diff options
context:
space:
mode:
authorArjen Laarhoven <arjen@yaph.org>2007-12-25 12:06:47 +0100
committerJunio C Hamano <gitster@pobox.com>2007-12-26 11:57:36 -0800
commit0faf2da7e5ee5c2f472d8a7afaf8616101f34e80 (patch)
tree51c47140e5baa61cc72b74e1a2acdb2ba92051ba /revision.c
parentc8deb5a14686c9c2d0ca1e8f42aec8ed44d16954 (diff)
downloadgit-0faf2da7e5ee5c2f472d8a7afaf8616101f34e80.tar.gz
git-0faf2da7e5ee5c2f472d8a7afaf8616101f34e80.tar.xz
Fix "git log --diff-filter" bug
In commit b7bb760d5ed4881422673d32f869d140221d3564 (Fix revision log diff setup, avoid unnecessary diff generation) an optimization was made to avoid unnecessary diff generation. This was partly fixed in 99516e35d096f41e7133cacde8fbed8ee9a3ecd0 (Fix embarrassing "git log --follow" bug). The '--diff-filter' option also needs the diff machinery in action. Signed-off-by: Arjen Laarhoven <arjen@yaph.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'revision.c')
-rw-r--r--revision.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/revision.c b/revision.c
index 7e2f4f1eb..6e85aaa3f 100644
--- a/revision.c
+++ b/revision.c
@@ -1290,8 +1290,10 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
if (revs->diffopt.output_format & ~DIFF_FORMAT_NO_OUTPUT)
revs->diff = 1;
- /* Pickaxe and rename following needs diffs */
- if (revs->diffopt.pickaxe || DIFF_OPT_TST(&revs->diffopt, FOLLOW_RENAMES))
+ /* Pickaxe, diff-filter and rename following need diffs */
+ if (revs->diffopt.pickaxe ||
+ revs->diffopt.filter ||
+ DIFF_OPT_TST(&revs->diffopt, FOLLOW_RENAMES))
revs->diff = 1;
if (revs->topo_order)