The Code Repository (SVN)

WordPress supports patches being created from both 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?

WordPress uses Subversion (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. These are denoted as either r12345 or [12345]. Details of the SVN and Git repositories are located here.

The WordPress repository of code is organized into three main directories: tags, branches, and 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

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 (CLI), such as Terminal 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 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, which is free and open source.

For Mac, the recommended SVN client is Cornerstone, which must be purchased.

Learn More

If you would like to learn more about working with Subversion, check out Installing A Version Control System, Installing WordPress Via SVN, and Working With Patches in the Tutorials and Guides section of this handbook.

6 responses to “The Code Repository (SVN)”

  1. Russell Heimlich Avatar

    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/..

  2. Robert Dall Avatar

    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..

    1. Dominik Schilling (ocean90) Avatar

      That’s right. But Cornerstone can.

      1. Kim Parsell Avatar

        Perhaps I should remove Versions from the page, and only recommend Cornerstone as a Mac client? I’ve modified the page to remove Versions.

  3. Robert Dall Avatar

    Pardon my curmudgeon comment, but should we mention a svn client that doesn’t work with our current workflow?

  4. adragos Avatar

    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/. GUI

s
search
c
compose new post
r
reply
e
edit
t
go to top
j
go to the next post or comment
k
go to the previous post or comment
o
toggle comment visibility
esc
cancel edit post or comment