I prefer single repository model where all modules are laid. We use this model at least year for now. But question is more subtle I thunk. You say:
>>> One of the main problems I see is that git tags cover the entire >>> repository, so if one needed to branch two modules and work on them >>> concurrently, you'd need to separate clones of the entire repository >>> which could start to get confusing If this is happening frequently than you should think about not to use maven submodules and divide your application in different artifacts. This way has it's own cost. IDE will not provide you consistent automatic refactoring across all your project. But if almost all changes in system addresses only one module maybe this modules are so isolated that there is no need to colocate them in one place? Denis Bazhenov On Apr 15, 2010, at 11:38 PM, Mark Derricutt wrote: > Git does provide submodules, which allows you to have a repository, > that embeds other repositories. Which would allow us to have a > "single checkout" mentality, but every time I look at how submodules > are implemented they seem a little bit too fidly - but would give us > the 'best of both worlds - trying to find some form of definitive > answer on the net seems hard tho. > > The closest I've found is the open jdk repository guide: > > http://openjdk.java.net/guide/repositories.html > > I'm not sure off hand how mercurial forests differ from git's submodules tho. > > -- > Pull me down under... > > On Fri, Apr 16, 2010 at 12:29 AM, Kevin Wright > <[email protected]> wrote: >> I personally favour one repo/module. These are entities that you're going >> to be cloning and passing between machines in their entirety. >> >> Maven (or equivalent) can then be used as the mechanism for relating the >> various modules at a binary level. >> >> >> On 15 April 2010 13:16, Mark Derricutt <[email protected]> wrote: >>> >>> Hey all, >>> >>> is anyone here using maven multi-module projects and git? We're >>> looking to move from subversion to git but seem to be arguing back and >>> forth over how best to actually handle it: >>> >>> a) a git repository per module >>> b) one huge repository for every module ( what we have with svn ) >>> c) several git repositories with several modules grouped by type ( >>> infrastructure, domain, user interface ) >>> >>> One of the current problems with mavens git integration is that it >>> does a 'git push' upon release, which would push all commits to the >>> upstream repository regardless of weather you wanting to do so at that >>> point in time. Whilst annoying, this may be a problem we have to just >>> 'deal with' ( this has been fixed in SNAPSHOTs of the git scm plugin >>> so won't be a problem eventually ). >>> >>> One of the main problems I see is that git tags cover the entire >>> repository, so if one needed to branch two modules and work on them >>> concurrently, you'd need to separate clones of the entire repository >>> which could start to get confusing. Wheras is each module was its own >>> repository, you could just branch and checkout each repo in place. >>> >>> I was wondering what other people on the posse have done in this >>> situation? I guess it's only limited to git but also mercurial or >>> other dvcs's that tag on the entire repo rather than a path like svn. >>> >>> Mark >>> >>> >>> -- >>> Pull me down under... >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "The Java Posse" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group at >>> http://groups.google.com/group/javaposse?hl=en. >>> >> >> >> >> -- >> Kevin Wright >> >> mail/google talk: [email protected] >> wave: [email protected] >> skype: kev.lee.wright >> twitter: @thecoda >> >> -- >> You received this message because you are subscribed to the Google Groups >> "The Java Posse" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/javaposse?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
