diff options
author | Junio C Hamano <junkio@cox.net> | 2005-05-25 15:07:08 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-25 15:21:57 -0700 |
commit | 96716a197658e069557e7615ce2019107d72225e (patch) | |
tree | d97f470b9c2ea0eaa0a8b41c0db510a11aaf6846 /diffcore.h | |
parent | 908bddab96230ed6d43726a8464057ad4c32d1a1 (diff) | |
download | git-96716a197658e069557e7615ce2019107d72225e.tar.gz |
[PATCH] Fix type-change handling when assigning the status code to filepairs.
The interim single-liner '?' fix resulted delete entries that
should not have emitted coming out in the output as an
unintended side effect; I caught this with the "rename" test in
the test suite. This patch instead fixes the code that assigns
the status code to each filepair.
I verified this does not break the testcase in udev.git tree Kay
Sievers gave us, by running git-diff-tree on that tree which
showed 21 file to symlink changes.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'diffcore.h')
-rw-r--r-- | diffcore.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/diffcore.h b/diffcore.h index 4610168251..092eecce23 100644 --- a/diffcore.h +++ b/diffcore.h @@ -45,6 +45,9 @@ struct diff_filepair { #define DIFF_PAIR_UNMERGED(p) \ (!DIFF_FILE_VALID((p)->one) && !DIFF_FILE_VALID((p)->two)) +#define DIFF_PAIR_TYPE_CHANGED(p) \ + ((S_IFMT & (p)->one->mode) != (S_IFMT & (p)->two->mode)) + extern int diff_unmodified_pair(struct diff_filepair *); struct diff_queue_struct { |