-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 3/21/2011 10:32 PM, Nick Coghlan wrote: > On Tue, Mar 22, 2011 at 3:16 AM, Raymond Hettinger > <raymond.hettin...@gmail.com> wrote: >> I don't think that is the main source of complexity. >> The more difficult and fragile part of the workflows are: >> * requiring commits to be cross-linked between branches >> * and wanting changesets to be collapsed or rebased >> (two operations that destroy and rewrite history). > > Yep, that sounds about right. I think in the long run the first one > *will* turn out to be a better work flow, but it's definitely quite a > shift from our historical way of doing things. > > As far as the second point goes, I'm coming to the view that we should > avoid rebase/strip/rollback when intending to push to the main > repository, and do long term work in *separate* cloned repositories. > Then an rdiff with the relevant cpython branch will create a nice > collapsed patch ready for application to the main repository (I have > yet to succeed in generating a nice patch without using rdiff, but I > still have some more experimentation to do with MvL's last proposed > command for that before giving up on the idea). > > Cheers, > Nick. >
I don't know what mercurial specifically supports. I believe git has a '--squash' option at merge/commit time. And bzr has "bzr revert - --forget-merges". Which lets you do a merge as normal, and then tell it to forget all of the history that you just merged (treating the commit as just a collapsed patch). It is trivial to do this as a DVCS (it is just *omitting* the extra parent pointer for commit). Though Mercurial's model of extra heads existing in the branch may make it a bit trickier. (If you omit the head when committing, it still stays around looking like it is unmerged, so you need 1 more step of killing the extra head.) Regardless, I'm sure it is something that could be implemented and streamlined for Python's use. Maybe someone knows a Mercurial command to already do it? John =:-> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Cygwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk2IbgIACgkQJdeBCYSNAANAlACfZkegH6t9y0PUH9xufcbCB4PX 8ykAn0A6i7D/+LJ+9+9OwoA27hkAiHUc =eh4I -----END PGP SIGNATURE----- _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com