On Thu, 28 Aug 2008, Junio C Hamano wrote:
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.
If you have the common ancestor, why would you ever want this format, and
not a nice conflict entry in the index?
Anyway, that's irrelevant for my real question, which is:
quoted hunk ↗ jump to hunk
/*
- * level == 0: mark all overlapping changes as conflict
- * level == 1: mark overlapping changes as conflict only if not identical
- * level == 2: analyze non-identical changes for minimal conflict set
- * level == 3: analyze non-identical changes for minimal conflict set, but
- * treat hunks not containing any letter or number as conflicting
+ * "Level" parameter can be:
+ *
+ * (MINIMAL):
+ * Mark all overlapping changes as conflict
+ *
+ * (EAGER):
+ * Mark overlapping changes as conflict only if not identical
+ *
+ * (DIFF3):
+ * Same as EAGER but show the shared preimage in the output as well
+ *
+ * (ZEALOUS):
+ * Analyze non-identical changes for minimal conflict set
+ *
+ * (ZEALOUS_ALNUM):
+ * Analyze non-identical changes for minimal conflict set, but
+ * treat hunks not containing any letter or number as conflicting
*
Wouldn't it be much nicer to make this a bitflag, than an enumeration of
different models?
In particular, why would it be wrong to want to be ZEALOUS (possibly
_ALNUM) and still want DIFF3 output?
IOW, I don't think these are at all disjoint sets. In fact, I think DIFF3
sounds not at all like a "level" to me, but like an output format thing,
so it's in a totally different "address space".
Hmm?
Linus