[darcs-users] Git v. Darcs: megapatches and 'darcs shunt'
Isaac Dupree
ml at isaac.cedarswampstudios.org
Thu Jan 13 21:58:05 UTC 2011
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?
Should reordering against another repo be an operation separable from
pulling, since you can do it usefully without pulling any patches?
What about a user who habitually pulls from two different repos, not
just one* -- the behavior is probably clear enough, just might be
surprising.
*(say, a HEAD and a long-term branch, and pushes to the long-term branch
after successfully merging the two or adding features. There's probably
an even more symmetric local workflow too: I'm working on a little
Haskell game/simulation toy and I sometimes have a branch to hack on the
backend model and a branch to hack on the fancy user interface and
sometimes and another branch where I pull both changes and see if they
work together, not just separately. Workflows similar to that anyway.)
Is the behavior even possible to implement? Can it be implemented in
faster than O(n) in all patches in the history?
-Isaac
More information about the darcs-users
mailing list