summaryrefslogtreecommitdiff
path: root/xdiff/xdiff.h
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2010-03-20 19:31:44 -0500
committerJunio C Hamano <gitster@pobox.com>2010-03-20 20:36:10 -0700
commit8a161433a0b414d15093e312eb9be99587074309 (patch)
treee346398c5c40f7aaad66efa4f9f4e07ff9790034 /xdiff/xdiff.h
parent6a843348ab08e7c701ac2343ffbe2d11ecb7ebab (diff)
downloadgit-8a161433a0b414d15093e312eb9be99587074309.tar.gz
xdl_merge(): add optional ancestor label to diff3-style output
The ‘git checkout --conflict=diff3’ command can be used to present conflicts hunks including text from the common ancestor: <<<<<<< ours ourside ||||||| original ======= theirside >>>>>>> theirs The added information is helpful for resolving merges by hand, and merge tools can usually grok it because it is very similar to the output from diff3 -m. A subtle change can help more tools to understand the output. ‘diff3’ includes the name of the merge base on the ||||||| line of the output, and some tools misparse the conflict hunks without it. Add a new xmp->ancestor parameter to xdl_merge() for use with conflict style XDL_MERGE_DIFF3 as a label on the ||||||| line for any conflict hunks. If xmp->ancestor is NULL, the output format is unchanged. Thus, this change only provides unexposed plumbing for the new feature; it does not affect the outward behavior of git. Requested-by: Stefan Monnier <monnier@iro.umontreal.ca> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Bert Wesarg <Bert.Wesarg@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'xdiff/xdiff.h')
-rw-r--r--xdiff/xdiff.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/xdiff/xdiff.h b/xdiff/xdiff.h
index a71763ade8..6eb5fffde1 100644
--- a/xdiff/xdiff.h
+++ b/xdiff/xdiff.h
@@ -117,6 +117,7 @@ typedef struct s_xmparam {
int level;
int favor;
int style;
+ const char *ancestor; /* label for orig */
} xmparam_t;
#define DEFAULT_CONFLICT_MARKER_SIZE 7