[darcs-users] some special amend-records

Piyush P Kurur ppk at cse.iitk.ac.in
Sun Mar 24 06:32:42 UTC 2013


On Sun, Mar 24, 2013 at 12:26:02AM +0000, Ganesh Sittampalam wrote:
> Hi Piyush,
> 
> On 22/03/2013 10:40, Piyush P Kurur wrote:
> 
> > [snip]
> > (1) Cherry pick the changes to the working copy of the repository. Let
> >     us call this picked patch p.
> > 
> > (2) Go over the list of patches in the reverse order (i.e. p4 then p3
> >     then p2) as long as p commutes over them.
> > 
> > (3) When the user says stop then merge p and the current patch.
> > 
> 

[snip]

> Unfortunately it's not generally safe in darcs to edit the dependencies
> of a patch without changing the identity of the patch itself. This isn't
> a really fundamental tenet of patch theory, but it is quite important
> for the current implementation at least.
> 
> In your example, p3 depends on p2. I assume the dependency is implicit -
> i.e. some change in p3 does not commute with some change in p2 - rather
> than being explicitly added with --ask-deps.
> 
> That means that darcs will assume that any repository that has p3 also
> has p2. So if you can change p2 -> p2' without changing p3 -> p3', you
> will really confuse darcs.

What you say makes complete sense. If I may restate it, just to make sure that
I am not mistaken, the new p3  is to be applied on the
repo which is the result of p0 p1 p2' (where p2' = p2 + p). Hence it is not the same as the old p3 
(which is actually applied on the repo p0,p1,p2)

> As David identifies in his follow-up email, this situation isn't really
> ideal. There's definitely a lot of scope for augmenting or changing
> darcs to make the workflow better in this kind of scenario.
> 

David's email looks interesting. I will think about it. My modified question is therefore 
whether there is any point in having a record-ammend 
presense of rebase, i.e. the record-amend would be a short cut to  the same effect as 
the rebase workflow that you said (i.e. p3 and p4 getting new identities).
I would really use it only when the patches p2 p3 and p4 are really local and require
reworking. We could also incorporated into amend-record using a --cherrypick-first flag 
for instances.

Regards

ppk



More information about the darcs-users mailing list