Re: [RFC GSoC 2009: git-submodule for multiple, active developers on active trees]
- From
Andreas Ericsson <ae@op5.se>
- Date
- Apr 1, 2009, 06:26 UTC
- Message-ID
- <49D30907.6090606@op5.se>
- In-Reply-To
- <alpine.DEB.1.00.0904010247170.10279@pacific.mpi-cbg.de>
Johannes Schindelin wrote:
Show 18 quoted lines
> Hi, > > On Tue, 31 Mar 2009, P Baker wrote: > >> I'll paraphrase to see if I understand your points: >> >> *Moving objects from submodule .git directories into the base .git/ >> directory would protect the submodules and is a good idea. > > No, I did not say that. > > I said that moving submodules' working directory need to protected when > renaming/deleting submodules. > > Even worse, I think that moving the .git/ directory into the > superproject's .git/ would be at least quite a bit awkward in the nested > case. >
Not necessarily. The .git directory of a submodule need not be named .git inside the superprojects .git directory. I could well imagine something like this:
.git/modules/submod(.git)/modules/nested-submod(.git)
For deeply nested submodules (eurgh), one might run into path length limit issues though. The point is that we will need some library-like function to find the repository of the submodule. Once that's done, the same call with a different $gitdir should be able to find the nested submodule.
I'm also thinking of libgit2 here, where each repository will be represented as a struct that must be passed to the various $gitdir searching functions. This is necessary to allow a single program to access multiple repositories, and the .git/modules scheme makes supporting submodules in the library quite trivial.
-- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 Considering the successes of the wars on alcohol, poverty, drugs and terror, I think we should give some serious thought to declaring war on peace.