[darcs-users] darcs rebase

Ganesh Sittampalam ganesh at earth.li
Sat Jun 29 15:31:55 UTC 2013


On 29/06/2013 15:31, Ben Franksen wrote:

> I have two questions / requests regarding the new rebase command. I am 
> refering to the version from the current screened repo.
> 
> (1) It seems the rebase command is missing a way for the user to view the 
> suspended patches. Is this something that is in the works? Or did I just 
> miss it somehow?

That's in the works, hopefully I'll get it submitted soon. It'll
probably be called 'darcs rebase changes'.

> (2) The rebase command does not allow me to 'force-commute' two patches. I 
> thought that the idea of rebase was to allow that. I dimly remember that in 
> an earlier version 'darcs rebase unsuspend' allowed me to select a suspended 
> patch without also selecting the (suspended) patches it depends upon. This 
> is currently not possible. (I may well remember this wrongly, in which case 
> you can regard this a feature request.)

I'd like to support this, and I think I tried once but the code ended up
a mess so I wanted to rethink. In the meantime you can workaround as
follows:

- Suppose you want to force commute A and B (i.e. B depends on A)
- clone your repository, and in the clone, suspend A and B, then rebase
obliterate A, and unsuspend B and deal with the conflicts
- in the original repository, obliterate B and suspend A, then pull in
the fixed up B, and unsuspend A and deal with the conflicts

> The reason I want to do that is that I want to pull a fix from development 
> branch to stable branch, but the fix (accidentally) depends on some complex 
> development change I made. Of course I expect to get conflicts when I 
> finally unsuspend the "complex change" /after/ the "fix" and I am ready to 
> resolve them manually. I would even expect having to do some conflict 
> resolution when unsuspending just the fix.

Yeah, this definitely makes sense, just needs some work to support
nicely. In an ideal world, I think you'd also only have to deal with the
conflicts once: whatever you do to resolve B should also imply how to
resolve A. That'll be a step further though :-)

Cheers,

Ganesh



More information about the darcs-users mailing list