[bzr] repo for bzr
Alexander Belchenko
bialix at ukr.net
Wed Mar 23 09:56:51 UTC 2011
Andreas Ostermann пишет:
> Hello Jelmer,
>
> 2011/3/23 Jelmer Vernooij <jelmer at samba.org>:
>> On Wed, 2011-03-23 at 09:32 +0100, Andreas Ostermann wrote:
>>> Is there anything like repo for bzr?
>> Can you explain what repo is, and in what ways it is different from e.g.
>> bzr-externals?
>
> Without going to the details (you can find them here:
> http://source.android.com/source/git-repo.html).
>
> With bzr-externals - as far as I understtod - , like svn-externals,
> you can "link" your repository to an other repository, saying to
> checkout a branch to a folder in your current checkout
<...>
> However, when you now change something to a and commit it, you have to
> change the external link by your own.
That's not true. (I'm not expert in bzr-externals, but I've read its
code, and I'm the author of scmproj, similar tool). When you do
high-level commit it records the current snapshot of the entire project
and update the "link" to other repositories to the current revision-id.
There is no "manual work" per se. In scmproj we're using special command
to commit all components and updating snapshot of the entire project. So
it's kinda similar to "repo" tool you've described.
>
> with repo which uses git you create something:
>
> repository a
> class 1
> class 2
> repository b
> class 3
> class 4
> repository c ("repo" manifest) -> a project
> a -r 42
> b -r 48
>
> You could now checkout c which will internally checkout and b:
>
> project
> a
> class 1
> class 2
> b
> class 3
> class 4
>
> and with repo you can make update and status calls at the highest
> level and the tool will iterate through all "sub"-projects. So when
> you change something on class 1, you can either checkin using bzr
> inside the a checkout or using repo to checkin.
>
> However, when you use repo to make the checkin or even when you used
> bzr directly on project a, and you will be notified that there is a
> change and you must make a repo commit to freeze the configuration.
>
> This is only a very rough explanation.
As I understand it, it's very close to what scmproj does today. Maybe
there are several differences here and there, but in the general close
enough (in my eyes). I know that scmproj should be improved because it
lacks today the ability to report about the need to update the snapshot
of the entire project. I need this feature too, have to find the right
time to implement it.
> And repo has own disadvantages, which sometimes drive me crazy.
scmproj is not ideal too, but I have to live with it because there is no
other tool for this stuff. I think I understand you, of course our views
of disadvantages are different, but may overlap.
> What I / we need is a tool for version projects, where a project is a
> collection of repositorys.
Can I suggest you take a look at scmproj and give it a shot? I
understand your situation because my needs is very close to yours. Maybe
(or maybe not) we can improve the existing scmproj tool instead of
starting new one from scratch. I don't say the scmproj is very good code
base, but it could be used at least as starting point.
More information about the bazaar
mailing list