Supporting cherry-picking
Aaron Bentley
aaron.bentley at utoronto.ca
Tue Oct 25 14:50:53 BST 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi all,
One of the prime advantages of weave merging is its support of
cherrypicking. But right now, we're not recording cherrypicking in a
way that takes advantage of this, because weaves don't record
cherrypicks at the moment.
When we do a cherrypick (bzr "merge ../bzr.dev -r -2..-1", where -2 is
not an ancestor), we do not set any pending-merges. I believe this to
be the correct behaviour. However, when committing the results to the
weave, this means that the lines will not be correctly attributed to the
revision they originated from.
Another kind of cherry-picking is per-file merging, e.g. "bzr merge
../bzr.dev NEWS TODO". (This is not currently supported on the
commandline, but it would be easy to expose that functionality.)
Here's an evil case:
$ bzr merge ../dev -r -2..-1 NEWS TODO
$ bzr merge --force ../dev -r -5..-4 README
$ bzr commit
To be absolutely correct, therefore, we'd need to track which revisions
were applied on a per-file basis. This would not be the same as
pending-merges, in that it would not affect which parents were
associated with the revision. However, it *would* affect the parents
associated with each *file* revision.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDXjg80F+nu1YWqI0RAkzlAJ9dj0pjJGYmF3CRmISinueffbhGDACdEGWs
/R3w/zPP4U5ZjWP4lBoo4Dg=
=FFuj
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list