I recently joined a new team. This team has been using Subversion for their source control. They asked me to investigate the possibility of moving the source code to Git.
This seemed like a trivial exercise until I realized they have a large number of svn:externals. The project is a large Java EE project that consists of several web projects. The team uses svn:externals to share some fixed resources (like css, javascript, etc.) amongst the various projects.
My question is twofold:
- Is there a better strategy for sharing resources within a set of Java projects that we could consider, allowing us to remove the necessity for svn:externals and making the switch to git simpler?
- If no such better strategy exists, then what are my alternatives?
This is quite a large codebase (lots of revisions and files) so I’d like to take advantage of the performance of git.
Here is the relevant software stack they are using:
- Subversion
- Eclipse
- Maven (2.2.1 IIRC)
- Windows (for development), AIX (for production)
Thanks
Sounds like a good case for Git submodules. They should be pretty similar to
svn:externals.Excerpt from the Git Book:
Read more on Git submodules on the Git book: http://book.git-scm.com/5_submodules.html