Source Repository

Maven projects use Git or Subversion to manage their source code. 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.

Maven Core

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.

The integration tests for the Maven core have their own repository:

Other Components

The source repositories for the various plugins are in Subversion, 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, some in Subversion, some in Git.

The components in git are:

Apache Maven SCM https://git-wip-us.apache.org/repos/asf/maven-scm.git
Apache Maven Plugin Testing https://git-wip-us.apache.org/repos/asf/maven-plugin-testing.git
Apache Maven Surefire https://git-wip-us.apache.org/repos/asf/maven-surefire.git
Apache Maven Wagon https://git-wip-us.apache.org/repos/asf/maven-wagon.git

Everything in Subversion can be checked-out from a single entry point, referencing each part through svn:externals

In more details, the components in Subversion are:

Apache Maven Plugins https://svn.apache.org/repos/asf/maven/plugins/
Shared components: maven-artifact-resolver, maven-reporting-impl, maven-common-artifact-filters, maven-shared-components https://svn.apache.org/repos/asf/maven/shared/
Release (Release api and plugin https://svn.apache.org/repos/asf/maven/release/
A variety of other subsystems (including obsolete trees replaced by git) https://svn.apache.org/repos/asf/maven

The sources for this site are available in a separate location:

Anonymous Access

Both subversion and git repositories may be cloned with either http or https. Only read-only access is available for http checkouts.

 $ svn checkout http://svn.apache.org/repos/asf/maven/site/trunk

Developer Access

Everyone can access Subversion repositories via HTTP, but committers must checkout Subversion repositories via HTTPS to gain write access:

 $ svn checkout https://svn.apache.org/repos/asf/maven/site/trunk

To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password):

$ svn commit --username your-username -m "A message"

Access from behind a Firewall

For those users who are stuck behind a corporate firewall which is blocking HTTP access to the Subversion repository, you can try to access it via the developer connection:

$ svn checkout https://svn.apache.org/repos/asf/maven/site/trunk

Access through a Proxy

The Subversion client can go through a proxy, if you configure it to do so. First, edit your servers configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the directory ~/.subversion. On Windows it is in %APPDATA%\Subversion (try echo %APPDATA%, note this is a hidden directory).

There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.

Example: Edit the servers file and add something like:

[global]
http-proxy-host = your.proxy.name
http-proxy-port = 3128