Title: The Code Repository (SVN)
Author: Andrew Nacin
Published: December 13, 2011
Last modified: November 19, 2019

---

# The Code Repository (SVN)

## In this article

 * [What is SVN?](https://make.wordpress.org/core/handbook/contribute/svn/?output_format=md#what-is-svn)
 * [Finding an SVN Client](https://make.wordpress.org/core/handbook/contribute/svn/?output_format=md#finding-an-svn-client)
 * [Learn More](https://make.wordpress.org/core/handbook/contribute/svn/?output_format=md#learn-more)

WordPress supports patches being created from both [GIT](https://make.wordpress.org/core/handbook/contribute/git/)
and SVNSVN Subversion, the popular version control system (VCS) by the Apache project,
used by WordPress to manage changes to its codebase.. This documentation focuses
on the SVN option.

## 󠀁[What is SVN?](https://make.wordpress.org/core/handbook/contribute/svn/?output_format=md#what-is-svn)󠁿

WordPress uses [Subversion (SVN)](https://make.wordpress.org/core/glossary/#svn),
a very popular version control system managed by the Apache project, to manage changes
to its codebase. A change to the WordPress codebase increments the **revision** 
number. Individual changes are called [commits or changesets](https://make.wordpress.org/core/glossary/#commit-noun).
These are denoted as either [r12345](https://core.trac.wordpress.org/changeset/12345)
or [[12345](https://core.trac.wordpress.org/changeset/12345)]. Details of the SVN
and Git repositories are located [here](https://make.wordpress.org/core/handbook/contribute/codebase/).

The WordPress repository of code is organized into three main directories: [tags](https://make.wordpress.org/core/glossary/#tag),
[branches](https://make.wordpress.org/core/glossary/#branch), and [trunk](https://make.wordpress.org/core/glossary/#trunk).

 * The **trunk** directory contains the latest development code in preparation for
   the next major release cycle. The latest revision may be unstable or broken at
   times. The latest development code may be referred to as _trunk_.
 * The **tags** directory contains individual snapshots of each official release,
   such as the 3.4.0 or 3.5.1 tags. Once created, these are unmodified, and these
   are used to build the download packages.
 * The **branches** directory contains directories that consist of the latest code
   for each major release, such as the 3.4 and 3.5 branches. Minor release development
   occurs within the branch. For example, a critical bug that affects the latest
   release may be fixed in both trunk and the most recent branch, in preparation
   for a **point release** – i.e. 3.5.2, in the case of the 3.5 branch. These should
   generally be considered stable, but care should be taken when a minor release
   is being prepared.

 

## 󠀁[Finding an SVN Client](https://make.wordpress.org/core/handbook/contribute/svn/?output_format=md#finding-an-svn-client)󠁿

Most popular IDE (Integrated Developer Environment) applications include built-in
support for SVN. Some also include enhanced support for WordPress development. This
makes it very convenient to perform all source code version control tasks: synchronize,
manage local copies, create patches, etc.

Alternatively some developers run SVN commands using the [command line interface](https://make.wordpress.org/core/glossary/#command-line-interface)(
CLI), such as [Terminal](http://en.wikipedia.org/wiki/Terminal_(OS_X)) on the Mac.
Even though most basic commands are simple, the command line is reasonably intimidating
for many users. Many developers do rely on [GUI](http://en.wikipedia.org/wiki/GUI)
applications though, either for regular use, or to handle complex actions more effectively.

When not using an IDE, or if a stand-alone GUI application is required, for Windows
the recommended SVN client is [TortoiseSVN](http://tortoisesvn.net/), which is free
and open source.

For Mac, the recommended SVN client is [Cornerstone](http://www.zennaware.com/cornerstone/),
which must be purchased.

## 󠀁[Learn More](https://make.wordpress.org/core/handbook/contribute/svn/?output_format=md#learn-more)󠁿

If you would like to learn more about working with Subversion, check out [Installing A Version Control System](https://make.wordpress.org/core/handbook/tutorials/installing-a-vcs/),
[Installing WordPress Via SVN](https://make.wordpress.org/core/handbook/tutorials/installing-wordpress-locally/from-svn/),
and [Working With Patches](https://make.wordpress.org/core/handbook/working-with-patches/)
in the **Tutorials and Guides** section of this handbook.

First published

December 13, 2011

Last updated

November 19, 2019

## 6 responses to “The Code Repository (SVN)”

 1.  ![Russell Heimlich Avatar](https://secure.gravatar.com/avatar/b523a37c0496cd23d8c8780e5266a42f2aad4f7f8bfacfa2dbb72bfa6d7f12ca?
     s=40&d=mm&r=g)
 2.  [Russell Heimlich](http://www.russellheimlich.com/blog/)
 3.  [April 11, 2013](https://make.wordpress.org/core/handbook/contribute/svn/#comment-8694)
 4.  For a free cross-platform SVNSVN Subversion, the popular version control system(
     VCS) by the Apache project, used by WordPress to manage changes to its codebase.
     GUI I use SmartSVN. They also have SmartGit which is the equivalent for GitGit
     Git is a free and open source distributed version control system designed to handle
     everything from small to very large projects with speed and efficiency. Git is
     easy to learn and has a tiny footprint with lightning fast performance. Most modern
     plugin and theme development is being done with this version control system.
      
     [https://git-scm.com/](https://git-scm.com/).
 5.  ![Robert Dall Avatar](https://secure.gravatar.com/avatar/96555b596b7b85dc63b4e6ae6f84e7ec9efe1dc826c66c20328fccae50d99639?
     s=40&d=mm&r=g)
 6.  [Robert Dall](https://profiles.wordpress.org/rdall/)
 7.  [July 28, 2013](https://make.wordpress.org/core/handbook/contribute/svn/#comment-9384)
 8.  Please correct me if I am wrong but Versions can not create or apply patches… 
     I tried a trail version of the program and couldn’t find any reference of that
     which made the program some what useless for the purpose of contributing to WordPress
     coreCore Core is the set of software required to run WordPress. The Core Development
     Team builds WordPress..
 9.   a. ![Dominik Schilling (ocean90) Avatar](https://secure.gravatar.com/avatar/f35b9fb3b4afef01e3c3733a23e362a12a7122cbe6e78db2dc9af01336f55be8?
         s=40&d=mm&r=g)
      b. [Dominik Schilling (ocean90)](https://profiles.wordpress.org/ocean90/)
      c. [July 28, 2013](https://make.wordpress.org/core/handbook/contribute/svn/#comment-9385)
      d. That’s right. But Cornerstone can.
      e.  a. ![Kim Parsell Avatar](https://secure.gravatar.com/avatar/8bf29c777c4a386cb938cb3afc6fa6398259c5d31103b9704f75feba84b6b385?
             s=40&d=mm&r=g)
          b. [Kim Parsell](https://profiles.wordpress.org/kpdesign/)
          c. [July 29, 2013](https://make.wordpress.org/core/handbook/contribute/svn/#comment-9396)
          d. Perhaps I should remove Versions from the page, and only recommend Cornerstone
             as a Mac client? I’ve modified the page to remove Versions.
 10. ![Robert Dall Avatar](https://secure.gravatar.com/avatar/96555b596b7b85dc63b4e6ae6f84e7ec9efe1dc826c66c20328fccae50d99639?
     s=40&d=mm&r=g)
 11. [Robert Dall](https://profiles.wordpress.org/rdall/)
 12. [July 28, 2013](https://make.wordpress.org/core/handbook/contribute/svn/#comment-9394)
 13. Pardon my curmudgeon comment, but should we mention a svn client that doesn’t 
     work with our current workflow?
 14. ![adragos Avatar](https://secure.gravatar.com/avatar/e9bfa774765eed05763c050a7e7cc2ee8d576d1d8d6351b5efbb19545d9ad277?
     s=40&d=mm&r=g)
 15. [adragos](https://profiles.wordpress.org/adragos/)
 16. [August 2, 2013](https://make.wordpress.org/core/handbook/contribute/svn/#comment-9431)
 17. Eclipse (and Eclipse based PHPPHP The web scripting language in which WordPress
     is primarily architected. WordPress requires PHP 7.4 or higher Editor) has a pretty
     neat SVNSVN Subversion, the popular version control system (VCS) by the Apache
     project, used by WordPress to manage changes to its codebase. GUI.
      PhpStorm (
     which is not free but it’s worth paying for) also have a cool SVN/GitGit Git is
     a free and open source distributed version control system designed to handle everything
     from small to very large projects with speed and efficiency. Git is easy to learn
     and has a tiny footprint with lightning fast performance. Most modern plugin and
     theme development is being done with this version control system. [https://git-scm.com/](https://git-scm.com/)
     GUI

[  Previous: The WordPress Codebase](https://make.wordpress.org/core/handbook/contribute/codebase/)

[  Next: Researching Code History](https://make.wordpress.org/core/handbook/contribute/svn/code-history/)