Maven projects use Git or Subversion to manage their source code: decisions to stay with Subversion or move to Git are tracked on Maven's Wiki.
Instructions on Subversion use can be found in the online book Version Control with Subversion. Instructions on Git use can be found in the online book Pro Git. Instructions for using the Apache Software Foundation Git repositories are at https://git-wip-us.apache.org.
As described in the next paragraphs, Maven full source code is dispatched in more than 100 Git repos: Maven core, but also plugins or components, skins, a few svn2git read-only mirrors...
To check out full Maven source code easily, we provide a simple way using additional Google repo tool and an additional Git repository for tool's manifest:
| Apache Maven full source code | (GitHub mirror) |
repo init -u https://gitbox.apache.org/repos/asf/maven-sources.git repo sync repo start master --all
The sources for this site are available in a distinct Git repository:
| Apache Maven Site | (GitHub mirror) |
The Git repository for Maven contains a master branch which is the current development version. There is also a branch for maven-2.2.X or maven-3.0.x. In addition, the integration tests for the Maven core have their own repository.
| Apache Maven | (GitHub mirror) | |
| Apache Maven Core ITs | (GitHub mirror) |
The source repositories for the various plugins are in Git, listed in the documentation of the respective plugin, reachable via the plugin index.
There are also many shared components and subsystems with their own source repositories, mainly in Git, some in Subversion.
The components in Git are:
Everything in Subversion can be checked-out from a single entry point, referencing each part through svn:externals
You can also check out every component separately. The components in Subversion are:
| Maven Project (mainly KEYS) | ||
| Apache Resource Bundles | ||
| Maven Sandbox | (GitHub mirror) | |
| A variety of other subsystems (including obsolete trees replaced by git) |