Re: [PATCH 04/10] checkout --conflict=diff3: add a label for ancestor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jonathan Nieder <jrnieder@xxxxxxxxx> writes:

> git checkout --conflict=diff3 can be used to present conflicts hunks
> including text from the common ancestor:
>
> 	<<<<<<< ours
> 	ourside
> 	|||||||
> 	original
> 	=======
> 	theirside
> 	>>>>>>> theirs
>
> The added information can be very helpful for resolving a merge by
> hand, and merge tools can usually understand it without trouble
> because it looks like output from ‘diff3 -m’.
>
> Unfortunately, not all can: ‘diff3’ includes a label for the merge
> base on the ||||||| line and it seems some tools cannot parse conflict
> hunks without such a label.  Humans could use help in interpreting the
> output, too.  So mark the start of the text from the common ancestor
> with the label “||||||| original”.
>
> git rerere will not have trouble parsing this output, since instead of
> looking for a newline, it looks for whitespace after the |||||||
> marker.

Missing:

    "... and adding the extra label will not affect the computed the conflict
    identifier, so existing rerere database will not be invalidated with this
    change either".

I didn't verified the above claim, but if it does not hold true, then we
need to think the transition strategy.  I don't expect a problem, though.

> Reported-by: Stefan Monnier <monnier@xxxxxxxxxxxxxxxx>
> Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx>

This "Reported" feels very odd for a feature enhancement ("Requested"
would be more appropriate) not a bugfix.

> ---
> Since “original” a good name for the common ancestor?  I also
> considered “base” and “ancestor”; the latter is too jargon-y for my
> taste, but “base” seems all right.

Yeah, base sounds good.  Even though at the lowest level, a merge is a
merge between two equals, people tend to think of the contents of their
own side "original" (vs the merge outcome "result").

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]