All of the Apache Tomcat source code, documentation and this web site are managed under version control using Subversion. This page explains the structure of the Apache Tomcat Subversion repository. The page assumes you are familiar with the general Apache guidance for Subversion.
All Subversion links in this page use anonymous access.
The root of the repository is http://svn.apache.org/repos/asf/tomcat.
The directories below this level are:
| Directory | Contents |
|---|---|
/archive/ |
Modules that are no longer maintained |
/build/ |
Resources used to build the distributions for Tomcat 5.x |
/container/ |
The core Tomcat code for Tomcat 5.x |
/current/ |
Single directory checkout for Tomcat 5.x |
/current-svn15 |
Single directory checkout for Tomcat 5.x using svn 1.5+ style relative links for the externals |
/connectors/ |
The HTTP and AJP implementation code for Tomcat 5.x |
/jasper/ |
The JSP engine implmentation for Tomcat 5.x |
/servletapi/ |
The Servlet and JSP APIs for Tomcat 5.x |
/site/ |
The Apache Tomcat website |
/tc6.0.x/ |
The stable 6.0.x release branch, with all modules in a single unified tree |
/trunk/ |
The primary development branch. Patches are committed here using Commit-then-Review and then voted on for porting to the release branches using Review-then-Commit. |
Sources for Tomcat 6 are available from a single module.
Tomcat 5 requires sources from multiple modules. To simplify checkouts of the latest sources for Tomcat 5, a Subversion feature called externals has been used. This groups all the modules for this major Tomcat version as sub-directories of a single directory and enables them to be checked out in a single command. The modules included for each version are listed in the section below.
There are some caveats to remember. Since all the subdirectories are still really different slices from the repository, relative paths won't always work as expected, for example. See the Externals Definitions section of the Subversion Book for details.
The URLs to use to checkout each version are:
| Apache Tomcat Version | URL |
|---|---|
| Current development | http://svn.apache.org/repos/asf/tomcat/trunk |
| 6.0.x | http://svn.apache.org/repos/asf/tomcat/tc6.0.x |
| 5.5.x (pre svn 1.5) | http://svn.apache.org/repos/asf/tomcat/current/tc5.5.x |
| 5.5.x (svn 1.5+) | http://svn.apache.org/repos/asf/tomcat/current-svn15/tc5.5.x |
Note that if you view the directory for Tomcat 5 in your browser it will appear to be empty due to the use of externals.
Tomcat 6.0.x is built from the following modules under http://svn.apache.org/repos/asf/tomcat:
Tomcat 5.5.x is built from the following modules under http://svn.apache.org/repos/asf/tomcat:
/build/tc5.5.x/container/tc5.5.x/connectors/trunk/jasper/tc5.5.x/servletapi/servlet2.4-jsp2.0-tc5.xThe Tomcat JK native connectors are built from the following module under http://svn.apache.org/repos/asf/tomcat:
The Subversion repository has been structured using the following principles:
tomcat directory.trunk for each module should be the the branch of the
latest Apache Tomcat version that uses that module. Since there are always
several active versions at any one time, rather than be called
trunk this directory should be named using the Apache Tomcat
version it represents, eg tc5.5.x.branches directory for each component.
branches/other directory in sub-directories that group the
other branches by the Apache Tomcat version from which they were
created.