Title: SVN Workflow license: https://www.apache.org/licenses/LICENSE-2.0

SVN Workflow

The Apache HTTP Server documentation lives in the same Subversion (SVN) repository as the server source code. This page walks you through checking out the docs and submitting patches.

If you‘re new to SVN, don’t worry — the commands below are all you need to get started.

Checking Out the Repository

There are two active branches:

  • trunk — the development branch (next release)
  • 2.4.x — the current stable release

To check out both:

svn checkout https://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-trunk
svn checkout https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x httpd-2.4

We recommend checking out both so you can submit patches against either branch. Most documentation patches should target trunk first, then be backported to 2.4.x if applicable.

Docs-Only Checkout

If you only want the documentation (smaller download), append /docs to the checkout URLs:

svn checkout https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs httpd-trunk-docs
svn checkout https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/docs httpd-2.4-docs

This gives you a lighter checkout, though you won't have the full source tree for context.

Repository Layout

Once you have a checkout, you‘ll find the documentation source under docs/manual/. Here’s what lives where:

  • mod/ — module reference pages (one .xml per module)
  • howto/ — tutorial-style how-to guides
  • vhosts/ — virtual host documentation
  • rewrite/ — mod_rewrite guide and recipes
  • misc/ — miscellaneous reference pages
  • faq/ — frequently asked questions
  • ssl/ — SSL/TLS documentation
  • programs/ — httpd support programs documentation
  • style/ — DTD, XSL, CSS (build system — don‘t edit unless you know what you’re doing)
  • .xml files — the source you edit
  • .xml.meta — auto-generated metadata (don't edit)
  • .html.* files — auto-generated HTML output (don't edit)

What's Auto-Generated?

Several file types in the tree are build output — never edit these directly:

  • .html and .html.* files — generated HTML output for each language. These are rebuilt from the .xml source.
  • .xml.meta files — generated by the build system to track translation status and revision info.
  • allmodules.xml — auto-generated when adding new modules.

Only edit .xml source files. Everything else is derived from them.

Creating a Patch

Once you have a checkout, the process is:

1. Update Your Checkout

Always pull the latest changes before you start editing:

svn update

2. Edit the Documentation

Documentation files are in the docs/manual/ subdirectory. Find the file you want to change, make your edits, and save.

3. Generate a Patch

Create a unified diff of your changes:

svn diff > my-changes.patch

To generate a patch for just one file:

svn diff docs/manual/mod/mod_rewrite.xml > mod_rewrite_fix.patch

4. Submit the Patch

Send your patch to docs@httpd.apache.org with:

  • The patch file attached
  • Which branch it's against (trunk, 2.4.x)
  • A brief description of what you changed and why
  • A reference to the Bugzilla ticket, if there is one

Alternatively, attach the patch directly to a Bugzilla ticket.

Tips

  • Name your patches descriptively — fix-proxy-example.patch is more helpful than patch.txt.
  • Keep patches focused — one logical change per patch is easier to review.
  • Check your XML — run the validation targets before submitting (see documentation format).
  • Don't worry about being perfect — we're happy to work with you on revisions.

See Also