A not so idle thought (multiple branch URLs)
Russel Winder
russel.winder at concertant.com
Mon Dec 8 07:41:31 GMT 2008
Stephen,
On Sat, 2008-10-18 at 10:00 -0600, Scott Scriven wrote:
> * Russel Winder <russel.winder at concertant.com> wrote:
> > > > Should branches have more than one push branch recorded?
> > >
> > > IMO, it should, and it's in my todo list for QBzr.
> >
> > I guess this is two votes for having it in Bazaar core?
>
> This is related: (per-branch / per-repo bookmarks)
>
> https://bugs.launchpad.net/bzr-bookmarks/+bug/254936
>
> I really like how hg handles this, allowing an unlimited set of
> repo-specific named URLs which work for any operation. It's easy
> to work with multiple remote repositories or branch locations,
> but I haven't found a simple way to do something similar in bzr.
> The end result would be something like:
>
> cd myproject
> bzr pull
> hack, hack, hack
> bzr commit
> bzr push svn
> bzr push lp
> bzr push backup
>
> The same sort of thing is also useful for pulling in hg:
>
> cd myproject
> hg pull alice
> hg pull bob
> hg pull chris
>
> That doesn't work in bzr, though, since it only has one head per
> branch. Instead, it would be...
>
> cd myproject/alice ; bzr pull
> cd ../bob ; bzr pull
> cd ../chris ; bzr pull
>
> And that's fine. It's more typing, but it seems like an easier
> model most of the time. Multiple URLs mostly seem useful for
> pushing.
I think there are two issues intermixing here. One is a per branch
problem of having multiple sources and sinks of changes, the other is
having multiple branches per repository. Mercurial and Git can both
operate on the multiple per branches per repository or single branch per
repository model, where Bazaar can only operate on the single branch
model -- OK there are shared repositories but apart from "bzr qlog"
there seems to be a lack of support for UI on a shared repository level.
I think your first two examples above apply at the branch level and so
it would be greate if they worked, i.e. svn, lp, backup, alice, bob,
chris were all aliases for branches/repositories to interact with.
I have little experience with Mercurial, but with Git I can certainly do
things like:
git push github
git push russel
since github and russel are aliases stored in the .git/config file of
that repository.
I think I could handle having to use bm: so
bzr push bm:lp
bzr push bm:russel
there would be a resonance with the current labels such
as :parent, :push, :pull. I think the point is that there needs to be a
way of ensuring the bookmarks are potentially project specific or
global, and that there is a really trivial way of querying what
bookmarks are currently available in the given context.
--
Russel.
====================================================
Dr Russel Winder Partner
Concertant LLP t: +44 20 7585 2200, +44 20 7193 9203
41 Buckmaster Road, f: +44 8700 516 084
London SW11 1EN, UK. m: +44 7770 465 077
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20081208/8489295d/attachment.pgp
More information about the bazaar
mailing list