From 15d061b435a7e3b6bead39df3889f4af78c4b00a Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 27 May 2005 15:55:55 -0700 Subject: [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 Signed-off-by: Linus Torvalds --- diffcore.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'diffcore.h') diff --git a/diffcore.h b/diffcore.h index e9cf2edcf4..462014b652 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)) -- cgit v1.2.3