Apache Commons logo

Download the Source

Most users of the source code probably don't need to have day to day access to the source code as it changes. For these users we provide easy-to-unpack source code downloads. See the "Releases" link on the Commons page.

Access the Version Control System (quick info)

Enter the following URL into a web browser to browse the latest source code, or pass that same url to a subversion client application to check the code out to your local machine, after replacing {component-name} with the appropriate value.

   http://svn.apache.org/repos/asf/commons/proper/{component-name}/trunk

Alternatively, enter the following URL into a web browser to browse the latest source code including history and commit information. Note that despite the name "viewvc" appearing in this link, the information is from the ASF Subversion repository.

   http://svn.apache.org/viewvc/commons/proper/{component-name}/trunk

Access the Version Control System (details)

The root url of the ASF Subversion repository is http://svn.apache.org/repos/asf/ for read-only access and https://svn.apache.org/repos/asf/ for committers.

The URLs for direct access to the commons section of that repository are:

The "proper" subdirectory leads to the code for official commons components. The "sandbox" subdirectory leads to the code for experimental commons components.

Subdirectories "trunks-proper" and "trunks-sandbox" are special directories that should be ignored by most users; they have Subversion "external attributes" associated with them so that when checking out those directories using a subversion client application, the directory created actually contains the "trunk" directory of every commons or sandbox project. This is useful for special purposes such as building the commons website. Most users can ignore these directories and access the trunk of a project via the "proper" or "sandbox" directory.

You can directly browse the latest version of ASF the code in Subversion by entering one of the above URLs into a standard web browser. Once you have found a directory of interest, you can pass the same URL to a subversion client in order to check out the files locally.

As an alternative, you can browse the repository (including access to file history) via one of the links below. Once you have found a file or directory of interest, replace the url prefix "http://svn.apache.org/viewvc" with the appropriate subversion root url (see above).

Important! When checking out a directory in subversion, ensure that you do not check out a directory that has "tags" and "branches" subdirectories, as this will result in getting a complete copy of the code for every branch and tag ever made. If you want the latest code, you generally want the directory {component-name}/trunk, though you should check the project directory structure first via one of the methods listed above, as different projects may use different internal directory structures. For example, some projects which support multiple versions of Java may use {component-name}/branches/{branch-name} as well as {component-name}/trunk.

Important! At the current time, selecting by date in subversion within the ASF repository isn't reliable. The reason is that when converting a date to a revision number, subversion assumes that revision N has an earlier date than revision N+M, and that it can therefore perform a binary search on revision numbers to locate one with the required date. However CVS imports of data that retain the original date information from CVS break this assumption. And unfortunately because revisions are repository-wide information, this affects date-based searches even in directories unrelated to the ones that CVS stuff was imported into. So while dates are reported correctly in "svn log" output, only revision numbers should be used with the -r option. See issue #752 in the subversion issue tracker at tigris.org.

For more information on connecting to the ASF Subversion repository, see the ASF version control page.

About Subversion

Subversion is an open-source version control system designed to be "a better CVS". More information about subversion can be found at the tigris subversion site.