summaryrefslogtreecommitdiff
path: root/xdiff/xdiff.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-08-28 08:10:04 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-08-31 02:41:43 (GMT)
commite0af48e49682ea3345f932f6b9e7fa7c5e5e611a (patch)
tree43cd383edc42ef508071fa6886a9e1fe10a7d281 /xdiff/xdiff.h
parentf2b25dd81f4ccbf42700bd15feeb2becf10331ab (diff)
downloadgit-e0af48e49682ea3345f932f6b9e7fa7c5e5e611a.zip
git-e0af48e49682ea3345f932f6b9e7fa7c5e5e611a.tar.gz
git-e0af48e49682ea3345f932f6b9e7fa7c5e5e611a.tar.bz2
xdiff-merge: optionally show conflicts in "diff3 -m" style
When showing conflicting merges, we traditionally followed RCS's merge output format. The output shows: <<<<<<< postimage from one side; ======= postimage of the other side; and >>>>>>> Some poeple find it easier to be able to understand what is going on when they can view the common ancestor's version, which is used by "diff3 -m", which shows: <<<<<<< postimage from one side; ||||||| shared preimage; ======= postimage of the other side; and >>>>>>> This is an initial step to bring that as an optional feature to git. Only "git merge-file" has been converted, with "--diff3" option. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'xdiff/xdiff.h')
-rw-r--r--xdiff/xdiff.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/xdiff/xdiff.h b/xdiff/xdiff.h
index 413082e..deebe02 100644
--- a/xdiff/xdiff.h
+++ b/xdiff/xdiff.h
@@ -50,10 +50,16 @@ extern "C" {
#define XDL_BDOP_CPY 2
#define XDL_BDOP_INSB 3
+/* merge simplification levels */
#define XDL_MERGE_MINIMAL 0
#define XDL_MERGE_EAGER 1
#define XDL_MERGE_ZEALOUS 2
#define XDL_MERGE_ZEALOUS_ALNUM 3
+#define XDL_MERGE_LEVEL_MASK 0x0f
+
+/* merge output styles */
+#define XDL_MERGE_DIFF3 0x8000
+#define XDL_MERGE_STYLE_MASK 0x8000
typedef struct s_mmfile {
char *ptr;