[MERGE] dpush / foreign vcs testing

Jelmer Vernooij jelmer at vernstok.nl
Sun Mar 22 20:55:19 GMT 2009


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.

Cheers,

Jelmer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dpush.diff
Type: text/x-patch
Size: 41802 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090322/ada0f144/attachment-0001.bin 


More information about the bazaar mailing list