Re: [RFC] Support projects including other projects
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 12, 2005, 04:52 UTC
- Message-ID
- <7vk6m5kpue.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.21.0505112350420.30848-100000@iabervon.org>
I think that the core of your idea of recording "required version" of the depended project (core GIT) in the depending project (Cogito) is a very sound one. GNU Arch folks do something similar in their "package-framework" stuff.
I however do not think that belongs to the core GIT nor even to Cogito for that matter. To me, it feels like this is a pure build infrastructure issue.
I think you could arrange something like that with today's core GIT tools, like this:
- Tweak Cogito Makefile so that pure Cogito and core GIT are housed in separate subdirectories;
- Add "required-git-pb" file to Cogito source as a tracked source file, and record the required version of git-pb there;
- Arrange Cogito Makefile to make sure the subtree that has the core GIT side meets "required-git-pb" constraints. The constraints could be "at least contains this one", "exactly this one". The policy would be differnt from a depending project to another. What happens if the requirements are not met is also up to the policy of that depending project.