[darcs-users] Git v. Darcs: megapatches and 'darcs shunt'

Alexander McPhail haskell.vivian.mcphail at gmail.com
Thu Jan 13 23:19:03 UTC 2011


On 14 January 2011 10:58, Isaac Dupree <ml at isaac.cedarswampstudios.org>wrote:

> On 01/13/11 08:42, Eric Kow wrote:
>
>> On Wed, Jan 12, 2011 at 15:49:31 -0500, Isaac Dupree wrote:
>>
>>> What if "pull" could (maybe given a flag that you'd use with your
>>> upstream) re-order all patches from upstream, new or old, as far
>>> back in your history as possible?
>>>
>>
>> I'm always nervous about introducing new flags [1], but I like
>> Isaac's variant of Alexander's idea:
>>
>> The hypothetical
>>
>>   darcs pull --reorder
>>
>> would then pull all patches in such a way that the ones which are
>> local to the current repo go on top.
>>
>
> I'm nervous about it too.  What if you mix uses with and without --reorder?
>
> Does --reorder always move all patches found in the remote repo to the
> bottom?  Even the older ones that were, of course, already in the local
> repo?  (And never reorder these patches with each other?  Or perhaps it
> should reorder them to match the remote repo's order?  Is that always
> possible if we have them adjacent, consistent, but in a different order?)
>
> What about patches that originated in the local repo, but were eventually
> pulled into the remote repo -- will the user be confused that they're no
> longer kept on top?
>

Maybe with

darcs pull --reorder

the user is given an option with each local patch _that does not appear in
the remote repo_ to move it to the end of the patch list.

The motivation is that I wrote a couple of small patches against GHC HEAD
and it took a while for the patch to get reviewed.  In order to keep the
patch current after weeks of 'darcs-all pull' I had to search for my little
patches.  For some reason, searching on my email address turned up many
other patches (dependencies?).

My suggestion, which I think Issac improved upon, was to have some way of
flagging the local patches so that there is some sort of pseudo-unrecord so
that we can apply the remote patches and then amend-record the local ones to
reflect changes in the remote repo.

This was to avoid having to unrecord, pull, and then record again, which
requires remembering which changes belong to which patch and rewriting the
patch summary.

Vivian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20110114/adec2cd9/attachment.html>


More information about the darcs-users mailing list