[MERGE] dpush / foreign vcs testing

Jelmer Vernooij jelmer at samba.org
Mon Mar 30 20:59:25 BST 2009


Jelmer Vernooij wrote:
> Jelmer Vernooij wrote:
>> Jelmer Vernooij wrote:
>>> Jelmer Vernooij wrote:
>>>> 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.
>>>>   
>>> I'm still looking for review of this patch; it would be nice if it
>>> could land in 1.14 so that bzr-git doesn't have to depend on bzr-svn
>>> for dpush... :-)
>> Updated patch with against bzr.dev.
> Here's the final version, with a slight performance improvement and a
> fix to handle nested files.
Is there any chance somebody could review this patch? It would be nice
if it could make it into 1.14. It's been waiting in the queue for two
months now.

Cheers,

Jelmer



More information about the bazaar mailing list