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