diff-files: -c and --cc options.

This ports the "combined diff" to diff-files so that differences
to the working tree files since stage 2 and stage 3 are shown
the same way as combined diff output from diff-tree for the
merge commit would be shown if the current working tree files
are committed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano
2006-01-28 00:03:38 -08:00
parent 3ec1909fda
commit ea726d02e9
3 changed files with 99 additions and 23 deletions

11
diff.h
View File

@ -56,6 +56,17 @@ extern int diff_tree(struct tree_desc *t1, struct tree_desc *t2,
extern int diff_tree_sha1(const unsigned char *old, const unsigned char *new,
const char *base, struct diff_options *opt);
struct combine_diff_path {
struct combine_diff_path *next;
int len;
char *path;
unsigned char sha1[20];
unsigned char parent_sha1[FLEX_ARRAY][20];
};
int show_combined_diff(struct combine_diff_path *elem, int num_parent,
int dense, const char *header, int show_empty);
extern int diff_tree_combined_merge(const unsigned char *sha1, const char *, int, int);
extern void diff_addremove(struct diff_options *,