[MERGE] dpush / foreign vcs testing

Jelmer Vernooij jelmer at samba.org
Fri Apr 3 03:51:35 BST 2009


Jelmer Vernooij wrote:
> On Mon, Mar 30, 2009 at 09:59:25PM +0200, Jelmer Vernooij wrote:
>   
>> 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.
>>     
> here's an updated patch, with latest bzr.dev merged (and conflicts
> resolved).
Sorry for bringing this up again so quickly, but since 1.14rc1 is so
close: is there any chance this could make it into 1.14? It's been up in
BundleBuggy since before 1.12.

Cheers,

Jelmer



More information about the bazaar mailing list