What I've learned from scmproj (Re: what should be done to merge nested trees patch to bzr-core?)
Alexander Belchenko
bialix at ukr.net
Thu Jun 16 12:56:04 UTC 2011
John Arbash Meinel пишет:
>> But as I think further, I come to conclusion that the best nested trees
>> can be obtained if we just merge components into root component. This
>> will automatically solve a lot of highlighted problems. But it will
>> create a new problem: how to extract the component then? Share changes
>> between projects using the same component?
>
> I believe Aaron was working towards a "logical merge" (CompositeTree
> looks like one giant WorkingTree). The main failure of it was stuff like
> file-ids must be unique across the tree (so you can't nest the same
> library 2 times at different locations, etc.)
Yep, I forgot about that limitations. Currently our the most outer
project from which we're building releases will be affected by that
situations: several subprojects of bigger project have some identical
components (that's the point of having nested trees for us), for example
the dispatcher program works with logic library, and both dispatcher and
logic are sharing the same component with API headers.
I think in my case (project written in C) that duplication could be
solved in another way: to build the release I may want to change the
layout of subprojects and move common components to top and keep them as
a single entities, and then somehow notify the build system about
different layout of some headers, shared libraries and so on. I think it
will be doable, and will help to reduce API friction because I will less
likely have API mismatch between different subprojects. So addressing
this limitation will actually help my project (in fact that's already in
my project todo list).
More information about the bazaar
mailing list