diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2010-03-20 19:31:44 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-03-20 20:36:10 -0700 |
commit | 8a161433a0b414d15093e312eb9be99587074309 (patch) | |
tree | e346398c5c40f7aaad66efa4f9f4e07ff9790034 /xdiff/xdiff.h | |
parent | 6a843348ab08e7c701ac2343ffbe2d11ecb7ebab (diff) | |
download | git-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.h | 1 |
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 |