[darcs-users] Re: Pin-based branching & merging

Andrew Pimlott andrew at pimlott.net
Mon Aug 9 20:56:07 UTC 2004


On Sat, Aug 07, 2004 at 11:39:24AM +0200, Tobias Oberstein wrote:
> Also as I noticed, unfortunately the mailing list processor
> included the attached PDF as verbatim base64.

[The PDF came through fine to me.]

> By "unit of conflict" I mean a sequence of bytes in a versioned
> file that when at least one byte is changed in that sequence
> in patch A, any other change in the same sequence in a different
> patch B will lead to a conflict when both patches A & B are to
> be simultaneously applied. When the unit of conflict is the "line",
> then two patches A & B will conflict if both change the same
> line.

I think the principle sounds great.  Personally, when I use a system
with powerful, fine-grained merge capabilities like darcs[1], I worry a
bit that it will silently merge things that are logically incompatible.
Being able to encode more information about the logical nature of a
patch in that patch could be a win.  That said, your idea is very
abstract to me.  I think I would need to see real examples to really
think about it, and in addition it would help to have experience with
high-conflict-volume usage, which I lack.  Is there a system which uses
pins effectively today?

BTW, if I understand correctly, there is a mistake on diagram 3.  In the
third column, both repositories I and II have made an "e & c" patch
consisting of a line (D and E repsectively) prepended to the file;
however the result is different in the two cases (in I, a new pin is
added, in II, none).

Andrew

[1]  My understanding is that darcs applies hunks by line number only,
so that the contents of the removed lines in hunk patches are redundant;
unlike most systems, which use the contents of removed lines and
(possibly) context lines to apply hunks, and therefore may get confused
when file contents move around or context changes.  However, this
confusion may be viewed as conservatism in automatically resolving
conflicts, which may be viewed as a safety feature.  David, is this
accurate?




More information about the darcs-users mailing list