Tomcat Logo

Apache Tomcat

Apache Logo

Apache Tomcat

Download

Documentation

Problems?

Get Involved

Misc

Subversion

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.


Repository Structure

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.


Convenience directories

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.


Sources by major version

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:

The Tomcat JK native connectors are built from the following module under http://svn.apache.org/repos/asf/tomcat:


Principles

The Subversion repository has been structured using the following principles:

  • New major versions (after Tomcat 5.x) should use a single integrated source repository.
  • Each current module should appear directly under the tomcat directory.
  • Modules no longer used (eg tools service) should be clearly marked as archived.
  • The 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.
  • The branches for the other Apache Tomcat versions that use that module will be placed in the branches directory for each component.
  • Other (non-development) branches will be placed in the branches/other directory in sub-directories that group the other branches by the Apache Tomcat version from which they were created.
  • Tags will be treated in exactly the same way as branches.



Copyright © 1999-2009, The Apache Software Foundation
"Apache", the Apache feather, and the Apache Tomcat logo are trademarks of the Apache Software Foundation for our open source software.