On 03-09-2006 15:46, Jon Smirl wrote: > On 9/3/06, Jakub Narebski <jnareb@xxxxxxxxx> wrote: > > Jon Smirl wrote: > > > > >> Oh, and "partial tree pulls for localisers". Perhaps git-cvsserver can > > >> help there? Localisers can just use TortoiseCVS and get a checkout of > > >> the language pack subdir. > > > > > > Partial repo pulls and an issue to. The mozilla repo has much more > > > than a browser in it, it also has a large mail/news program. A partial > > > repo pull may not be what is needed for git, instead git needs a > > > partial repo checkout. > > > > Or better support for subprojects. > > > > I think you can fake subproject support using separate repositories > > for subprojects, in the directory matching the one in the whole project, > > and the project repository, where we pull/push subprojects into. > > You can't really fake it. Many of the projects in Mozilla are > dependent on each other. If you break them up into separate > repositories you lose the ability to do a cross project commit. This > is common when you are changing an interface between the subprojects. > > Would it make sense for git to treat a tree of projects like you > describe as a single entity? So a commit would transparently commit to > all of the subprojects. Maybe the commit entry's sha1 could be set up > so that it would be identical in all subprojects. That would let you > string them back together. Scratch that. You can fake subproject support using something similar to the way Junio works with TODO branch. Namely, separate repositories for subprojects, each as if it would start from it's own directory (although you can manage without that, it only would be slightly harder to set it up), and main repository working directory composed from subproject repositories checked out to correct place. Add to this ingnoring object database (i.e. .git repositories), and you have whole repository... where you can do whole repository commits to. E.g. the following directory structure main-project/ main-project/.git main-project/subproject/ main-project/subproject/.git main-project/subproject/...subproject files... where second .git is in .gitignore or info/excludes, but the subrpoject/ directory itself isn't. If this is not enough, check out ideas in Subpro.txt in the 'todo' branch in git repository. It adds additional 'bind' header... the implementation (search for 'gitlink') were if I remember correctly never fully implemented and is not in git, although parts of it like git-read-tree and git-write-tree --prefix option made it. http://www.kernel.org/git/?p=git/git.git;a=blob;f=Subpro.txt;hb=todo As commit id depends on the contents, including _parents_ and _tree_, it is I think impossible to set commit entry sha1 to be identical. P.S. I just hope that it would pass VGER filter. I don't have much luck with it lately... -- Jakub Narebski Poland -- VGER BF report: S 0.994192 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html