diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-07-14 11:19:24 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-07-14 11:19:24 -0700 |
| commit | 50d9c342b401d8040cfc484774b38d12474bbe8e (patch) | |
| tree | 51a1f80056ce0cfd9dec62608bb9cd290b9b22da | |
| parent | f96878e5d32ac78820401e7061ac5090deeb94ee (diff) | |
| parent | 375ac087c5c5d17f941ed235c0bf434870eba8e7 (diff) | |
| download | git-50d9c342b401d8040cfc484774b38d12474bbe8e.tar.gz | |
Merge branch 'jk/all-negative-diff-filter-fix'
A diff-filter with negative-only specification like "git log
--diff-filter=d" did not trigger correctly, which has been fixed.
* jk/all-negative-diff-filter-fix:
setup_revisions(): turn on diffs for all-negative diff filter
| -rw-r--r-- | revision.c | 2 | ||||
| -rwxr-xr-x | t/t4202-log.sh | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/revision.c b/revision.c index afee111196..9892d08748 100644 --- a/revision.c +++ b/revision.c @@ -3112,7 +3112,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s /* Pickaxe, diff-filter and rename following need diffs */ if ((revs->diffopt.pickaxe_opts & DIFF_PICKAXE_KINDS_MASK) || - revs->diffopt.filter || + revs->diffopt.filter || revs->diffopt.filter_not || revs->diffopt.flags.follow_renames) revs->diff = 1; diff --git a/t/t4202-log.sh b/t/t4202-log.sh index 4a6c4dfbf4..05cee9e41b 100755 --- a/t/t4202-log.sh +++ b/t/t4202-log.sh @@ -134,6 +134,12 @@ test_expect_success 'diff-filter=D' ' ' +test_expect_success 'all-negative filter' ' + git log --no-renames --format=%s --diff-filter=d HEAD >actual && + printf "%s\n" fifth fourth third second initial >expect && + test_cmp expect actual +' + test_expect_success 'diff-filter=R' ' git log -M --pretty="format:%s" --diff-filter=R HEAD >actual && |
