Foreign Branches

Jelmer Vernooij jelmer at samba.org
Wed Oct 26 01:05:50 BST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

James Blackwell wrote:

> On Tue, Oct 18, 2005 at 02:11:40AM +0200, Jelmer Vernooij wrote:
>
>> The past few days I've been looking at implementing support for
>> foreign branches
>> (http://bazaar.canonical.com/BzrForeignBranches), in particular
>> with Subversion in mind.
>
>
> What sort of plans do you have? Eventually something like?:
>
> bzr branch http://somesite.com/mysvncode/here upstream [ wait a
> week ] cd upstream bzr pull

>
> Or even more?: cd .. bzr branch upstream anotherstream cd
> anotherstream bzr merge http://somesite.com/mysvncode/here

Yep, this (second example) would be the idea. This can be achieved by
adding a subclass of _Branch that enumerates remote revisions.

Aaron also suggested a 'bzr submit' command for submitting the changes
upstream (e.g. commit them to a CVS or SVN repository, push them to a
baz repository, etc). It would make sense if 'bzr push' implies that
the remote branch ends up being a copy of the local one once the push
is finished, whereas 'bzr submit' submits some changes (which may not
appear exactly in the remote branch as they were in the local one). I
guess 'bzr submit' could then also be used for things like submitting
changes to a pqm, sending them to a mailing list, etc.

So, for foreign branches, you'd be able to pull / merge from them and
(initially) submit changes. Perhaps, if the other VCS can be mapped
1-to-1 to bzr, 'push' could also be supported.

Aaron, if there's anything incorrect here, please comment.

> If so, that's be frigging AWESOME.. though a bit... large (I
> imagine this eventually turns into a dozen half-reimplimentations
> of various RCSs into bzr format).. I guess you're planning on using
> plugins of some sort?

Yes. I'm initially going to try to get a SVN foreign branch plugin
working, but I'm not sure yet what library I'm going to use. The
native ones (generated using SWIG), are simple wrappers around the
original C calls and the alternative one doesn't support local checkouts.

Cheers,

Jelmer
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDXshePa9Uoh7vUnYRAhR2AJ4lgxIrpfbkQBEyzMpnCMJlGRHGvACeP45G
GrRshdSDCITTU4/M64vRyLQ=
=GB2l
-----END PGP SIGNATURE-----





More information about the bazaar mailing list