[darcs-users] Different approach for "incoherent" patches

David Roundy droundy at abridgegame.org
Mon Nov 22 13:10:59 UTC 2004


On Mon, Nov 22, 2004 at 03:14:12PM +1000, Anthony Towns wrote:
> Hey all,
> 
> I had a different idea for for dealing with the "incoherent" patches 
> problem. The usage scenario seems to be:
> 
>   A: darcs record -m 'patch A5'
>   B: darcs pull
>   A: #hackhack
>   A: darcs rerecord -m 'patch A5.1'
>   B: darcs pull
> 
> and B gets both patch A5 and A5.1, with duplicated changes. Or something 
> similar in the unrecord case.
> 
> Rather than trying to make patch A5.1 "supersede" patch A5, a different 
> approach might be to make A's and B's repositories "sync".

I find this approach a bit scary, but your analysis of the usage scenario
seems useful, and gives me a different idea as to how one might deal with
this.

Perhaps all we need here is a "subsumes" attribute (which needs a better
name), which would allow one patch to "hide" another.  This has been
discussed before, in the context of patch grouping, and definitely strikes
me as a good idea.  If we allowed one patch to hide another (or more than
one other) patch from darcs changes, pull, etc, then we wouldn't need to
remove the old patch at all.

darcs amend-record --safe (which is the new name for rerecord)

could just create a new patch that hides the old one, but the old one would
still be there in the history, so we'd not lose any "safety", nor would we
lose any information.  We could leave an amend-record --unsafe, to be used
in the privacy of your own home.

Of course, there would be an option to reveal the patches which are
"hidden".

The addition of a "subsumes" attribute might also (in combination with
amend-record) allow us to either clean up or remove the "rollback" command,
which is one of the more confusing commands.  A nicer version of "rollback"
could be used as a --safe unrecord.  For example, we could perhaps make the
rollback patch hide not only the rolled-back patch, but also itself, which
might be a bit *too* subtle, but would have the advantage of behaving like
a "safe" unrecord that could be pulled.  Of course, it couldn'tq hide itself
*too* well, or you wouldn't be able to pull it... :)

(Obviously the "hiding" would require some thought in its definition.)
-- 
David Roundy
http://www.darcs.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20041122/e807ad88/attachment.pgp 


More information about the darcs-users mailing list