Apache Subversion

Apache Subversion

Apache Subversion (SVN) is a free, centralized, and open-source tool that provides enterprise-class centralized version control. Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data, or examine the history of how your data changed.

Unlike Git, only the working tree and the latest changes the developer is working on are kept on the local machine. This means developers must be online in order to make changes to a codebase. Users check out files and commit changes back to the server.

The benefit of SVN over Git include:

  • Checkouts take less time in SVN when there are a lot of changes to binary files.
  • SVN is better at storing binary files, as Git cannot handle large binary files.
  • SVN often considered easier to learn. This is especially true for non-technical users. They are able to catch on to common operations quickly.

Basic SVN Commands

svn admincreate – creates a new, empty repository.

svn import – commits an unversioned tree of files into a repository (and creates intermediate directories, if needed).

svn checkout – checks out a working copy from the repository. This command is sometimes shortened to svn co.

svn commit – sends your changes back to the SVN server.

svn add –  add a new file to the repository — but only after you’ve done a svn commit.

svn delete – delete a file from your working copy of the repository.

svn list – allows you to see a list of files in a repository without creating a working copy.

svn diff – reveals the differences between your working copy and the copy in the master SVN repository.

svn status – prints the status of working copy files and directories.

svn info – displays information about a local or remote item.

svn log – shows log messages from the repository.

svn move – moves a file from one directory to another (or renames it).

svn merge – combines two different versions into your working copy.

svn revert – reverts changes in your working copy, as well as property changes. For example, you can use svn revert to undo svn add.

svn update – updates your working copy with changes from the repository.

svn shelve – stores your changes without submitting them.

svn help – provides a summary of available commands.


Start building security workflows in minute

Book a demo with our experts to learn how Cycode can help secure your software supply chains

Book a Demo