diff options
author | Junio C Hamano <junkio@cox.net> | 2005-05-27 15:55:55 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-29 11:17:43 -0700 |
commit | 15d061b435a7e3b6bead39df3889f4af78c4b00a (patch) | |
tree | e19d482170bad5d14e9b3c581432576bcca95149 /diffcore.h | |
parent | 367cec1c024c3849cb32eaac15884a4adfefe1de (diff) | |
download | git-15d061b435a7e3b6bead39df3889f4af78c4b00a.tar.gz git-15d061b435a7e3b6bead39df3889f4af78c4b00a.tar.xz |
[PATCH] Fix the way diffcore-rename records unremoved source.
Earier version of diffcore-rename used to keep unmodified
filepair in its output so that the last stage of the processing
that tells renames from copies can make all of rename/copy to
copies. However this had a bad interaction with other diffcore
filters that wanted to run after diffcore-rename, in that such
unmodified filepair must be retained for proper distinction
between renames and copies to happen.
This patch fixes the problem by changing the way diffcore-rename
records the information needed to distinguish "all are copies"
case and "the last one is a rename" case.
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 | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/diffcore.h b/diffcore.h index e9cf2edcf..462014b65 100644 --- a/diffcore.h +++ b/diffcore.h @@ -39,8 +39,11 @@ extern void diff_free_filespec_data(struct diff_filespec *); struct diff_filepair { struct diff_filespec *one; struct diff_filespec *two; - int score; /* only valid when one and two are different paths */ - int status; /* M C R N D U (see Documentation/diff-format.txt) */ + unsigned short int score; /* only valid when one and two are + * different paths + */ + char source_stays; /* all of R/C are copies */ + char status; /* M C R N D U (see Documentation/diff-format.txt) */ }; #define DIFF_PAIR_UNMERGED(p) \ (!DIFF_FILE_VALID((p)->one) && !DIFF_FILE_VALID((p)->two)) |