[MERGE] dpush / foreign vcs testing
Jelmer Vernooij
jelmer at samba.org
Sat Jan 31 02:03:24 GMT 2009
This patch adds the "dpush" command to bzr core. This command has been
part of bzr-svn for a while, and is now also being used in bzr-git. It
can push bzr revisions into a foreign version control system while not
copying all metadata (if metadata can not be represented in the foreign
version control system).
Since this has the consequence that it doesn't preserve revision ids or
file ids the local and the remote branch will have diverged after a
dpush operation - breaking a basic invariant of regular push. To work
around this, dpush can "rebase" (the actual operation is much simpler)
the local branch on the remote branch afterwards.
dpush is useful for people who don't want bzr-related metadata to show
up in their foreign vcs (e.g. some people have complained about
bzr-svn's custom svn properties), for foreign version control systems
that don't have a place where we can stash bzr roundtripping metadata
and for bzr foreign vcs plugins that don't do full roundtripping yet
(bzr-git / bzr-hg atm, but it would also work for e.g. CVS).
dpush will refuse to push between native Bazaar branches.
I've also added more infrastructure to the DummyForeignVcs* test classes
that have been growing in bzrlib/tests/test_foreign.py, to help test
dpush. This foreign vcs is based on the current bzr formats, but changed
slightly to make it foreign:
* The control files live in .dummy
* "native" revision ids are tuples of 3 strings
* Each revision can only have one parent "natively"
When running selftest for this patch, please run with --no-plugins.
bzr-svn and bzr-git also contain dpush at the moment, with slightly
different implementations.
Cheers,
Jelmer
--
Jelmer Vernooij <jelmer at samba.org> - http://samba.org/~jelmer/
Jabber: jelmer at jabber.fsfe.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dpush.diff
Type: text/x-patch
Size: 39981 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090131/d3f7c6c4/attachment-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 315 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090131/d3f7c6c4/attachment-0001.pgp
More information about the bazaar
mailing list