From: Jakub Narebski Date: Sat, 16 Dec 2006 16:32:10 GMT Subject: Re: [RFC] Submodules in GIT Message-ID: <200612161732.11746.jnareb@gmail.com> In-Reply-To: Torgil Svensson wrote: > On 12/16/06, Jakub Narebski wrote: >> All fine, but this does not and I think cannot protect us from the >> fact that we can have which doesn't match >> . > > True, that will be a real problem. Unless we have a bug in git, do you > see a scenario in which this is likely to happen? Well, I just rather have than the definition of sparse checkout (for example subdirectory name, or file name, or glob pattern). Besides you need the name of directory (for tree) or file (for blob), otherwise you would have no way to update it when submodule advances version, and you want to use new submodule version. And if you have that, you don't need in repository, in link object. You might want it in the index, for performance reasons, though. >> I think it would be better to have sparse/partial checkout first. >> But that is just my idea. Because with which >> is not sha1 of commit tree you might loose (I think) the ability >> to merge, for example your changes to submodule with upstream. > > That's correct. I also want a sparse/partial checkout but I don't want > the full submodule path. I'm also perfectly fine (for my current > use-cases) with not being able to merge upstream unless we're tracking > the commit tree (here, we might not want to specify the tree SHA1). With sparse (for example defined by 'src/*.h') or partial (for example defined by 'Documentation/') checkout you should be able to merge upstream... unless conflicts are in the not checked out part. > I'm not trying to impose a technically fragile solution here [I don't > believe it is, but I'm not the most competent to say that either], I'm > trying to find solutions for my use cases and I had problems adapting > them to the current suggestion. Have you read http://git.or.cz/gitwiki/SubprojectSupport on GitWiki? Have you tested the experimental submodule support (proof of concept) http://git.admingilde.org/tali/git.git/module2 by Martin Waitz? -- Jakub Narebski