A not so idle thought
John Arbash Meinel
john at arbash-meinel.com
Mon Oct 13 16:22:49 BST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gary van der Merwe wrote:
> 2008/10/13 Alexander Belchenko <bialix at ukr.net>:
>> Russel Winder пишет:
>>> In a shared repository though we have the same model as Mercurial and
>>> Git, lots of local branches in a single repository. Have I just missed
>>> the gitk-like tool of Bazaar for managing these branches? If I haven't
>>> I wonder if putting it on the road map a good move? Should Olive-GTK be
>>> able to handle multiple branches at once? (At least in a shared
>>> repository.)
>> QBzr's qlog already able to show you log of all branches inside shared repo
>> (thanks to Gary van der Merwe who implement this). This is makes `bzr heads`
>> less useful for me now.
>>
>> I have no idea does bzr-gtk's viz has this feature or not.
>
> bzr-gtk's viz allows you to specify a number of branches. It would be
> trivial to make it find all the branches in a shared repo.
>
> One of the limitations of both qlog and viz, is that it tires to load
> the revisions from the first branch specified. With viz, if you
> specify two stand alone branches (not in a shared repo) and the second
> branches has a revision that is not in the first one's repo, then it
> will silently fail to show that revision. With qlog, we require that
> the branches share a repo.
>
> To overcome this limitation, we will need to store, for each rev,
> which branch/repo it can be retrieved from. We will need to
> reimplement a number for Graph functions, starting with iter_ancestry,
> to accommodated this.
Just to mention you can just use a StackingParentsProvider for the Graph.
Look at "bzrlib.repository.Repository.get_graph(other)".
You could probably quite simply just keep track of all the repositories
you encounter and add them into a Stacked provider. We'll just fall back
to the next one whenever we can't get the one we want.
Then again, you also need to be able to get the revision text itself. At
one point we had a MultiRepository implementation, though we deprecated
it because we weren't using it.
It is pretty trivial, as it just tries one, and for things that don't
work it falls back to the next in the list.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkjzZ8kACgkQJdeBCYSNAAMXQgCcDTMUo2196PKSp5SVW211QWij
4xEAn3CeAqy0krFGBIWrr8brBk3ZvNDk
=cMzC
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list