[MERGE] dpush / foreign vcs testing

Ben Finney bignose+hates-spam at benfinney.id.au
Sun Feb 1 00:17:23 GMT 2009


Jelmer Vernooij <jelmer at samba.org> writes:

> 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).

Thanks very much for this work.

> 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.

What implication does this have for “downstream” branches?

For example::

    $ bzr get svn://example.com/repository/branch/ upstream/
    $ bzr branch upstream/ feature-foo/

    $ cd upstream/
    $ # hack hack
    $ bzr commit
    $ bzr dpush --resync   # or whatever the “rebase-but-simpler” option is

    $ cd feature-foo/
    $ bzr pull             # will this succeed? why or why not?

    $ # hack hack
    $ cd ../upstream/
    $ bzr merge ../feature-foo/
    $ bzr commit
    $ bzr dpush --resync

    $ cd ../feature-foo/
    $ bzr missing ../upstream/      # will this return a null set? why or why not?

-- 
 \                   “Holy astringent plum-like fruit, Batman!” —Robin |
  `\                                                                   |
_o__)                                                                  |
Ben Finney




More information about the bazaar mailing list