[darcs-users] Upcoming 2.8

Ben Franksen benjamin.franksen at bessy.de
Sat Mar 3 02:23:04 UTC 2012

Michael Hendricks wrote:
> On Sat, Feb 25, 2012 at 7:21 AM, Stephen J. Turnbull <stephen at xemacs.org>
> wrote:
>> Archi writes:
>> > What scenario were you wanting rebase for that patch commutation does
>> not > solve?  There are specific corner cases, but I don't see how corner
>> cases > make for a good marketing feature.
>> Rebase is mostly about presentation, rather than solving problems.
> I agree.  I think of rebase as an efficient user interface for
> handling bulk commute, obliterate and amend-record operations.  One
> can't solve new problems with rebase, just solve them with less
> typing.
> For example, if I'm working on a series of patches and I want my
> patches to appear towards the front of `darcs changes` output, it'd be
> easier to type `darcs rebase` (non-interactive mode) than `darcs send
> -a -o temp && darcs obliterate ... && darcs apply temp`
> Similarly, if I want to obliterate one patch, combine two other
> patches and commute some others, it's easy to use $EDITOR to rearrange
> this file
>   pick 1 update frobnitz
>   pick 2 reorient giz
>   pick 3 unschlump borfin
>   pick 4 do something dumb
>   pick 5 oops, proper giz fix
> into this
>   pick 1 update frobnitz
>   squash 5 oops, proper giz fix
>   pick 3 unschlump borfin
>   pick 2 reorient giz
> Typing the relevant darcs send, obliterate, apply and unrecord
> commands is usually more than I want to do.
> I've made a little demo video of me using interactive rebase in Git,
> for any who haven't used it themselves: http://youtu.be/ZLdcqIvnYPs
> (sorry if the video text is too small).

Nice video! And interesting... I noted that some of the things you do with 
rebase in git you can already do in darcs with amend-record, but only as 
long as there are no dependencies on top of the patch you want to change. If 
there are dependencies, however, then this is where darcs simply gives up 
and I cannot do anything but unrecord (my own) conflicting patches, convert 
into patch files using diff, apply in different order, resolve conflicts, 
etc etc

I think darcs should help me with this kind of work.


More information about the darcs-users mailing list