monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] sutures [Re: Time for a release]


From: Pavel Cahyna
Subject: Re: [Monotone-devel] sutures [Re: Time for a release]
Date: Fri, 26 Dec 2008 00:41:34 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

Hello,

On Sat, Dec 20, 2008 at 03:48:08AM -0500, Stephen Leake wrote:
> Pavel Cahyna <address@hidden> writes:
> > What is the status of the planned "file sutures"? 
> 
> That implementation (on n.v.m.automate_show_conflict) is on indefinite
> hold; it turned out to be much more work, and I suspect much more
> controversial, than I initially thought.
> 
> > Are they related to the new conflicts functionality? 
> 
> I adapted some of the techniques from the file sutures/conflict
> resolution stuff to the current conflicts functions. 
> 
> Merging from main back to n.v.m.automate_show_conflict would now be
> complicated, because some of the conflict resolution stuff is
> conflicting between the two branches.
> 
> > I am asking mainly because they could fix a really annoying problem
> > with "pluck" IIUC: that if you pluck a revision which introduces a
> > file, monotone does not recognize it as the same file as the
> > original one and subsequent pluck which modify this file will fail.
> > See
> > http://lists.gnu.org/archive/html/monotone-devel/2007-08/msg00159.html
> 
> I don't see how "file suture" would solve that; there are not two
> files being sutured. 

OK, suturing applies only to files, not directories?

Here is another test case for files instead of directories (attached).

It seems to me that "f" created by the first "pluck" and the one patched
by the second are really files to be sutured, because they are actually
the same file but monotone does not know that.

> 
> I'm not sure what would solve that.
> 
> You could try your test case on the n.v.m.automate_show_conflict
> branch, and see what happens. 

mtn: conflict: orphaned file 'a/f' from revision 
18380b08e53835940f68e9a8b66dd01bba4bdcc9
mtn: parent directory 'a' was deleted on the left
mtn: file 'a/f' was added on the right
mtn: error: merge failed due to unresolved conflicts

with the new file-based example:

mtn: conflict: duplicate name 'f' for the directory ''
mtn: added as a new file on the left
mtn: added as a new file on the right
mtn: conflict: file 'f' dropped on the left, changed on the right
mtn: error: merge failed due to unresolved conflicts

How to use suturing in your branch? I suppose that it needs some manual
intervention. Is one of those conflicts above solvable with sutures?

Thanks  Pavel

Attachment: plucktestfile.sh
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]