Major Tools
Other Tools
General Info

Introduction to S4

Written by Bryce Denney and Wilson Snyder <>.


The SVN::S4 package provides additional utilities for the Subversion Revision Control System.

S4 is provided as-is, and while being actively used, is only maintained as time permits. Contributions of patches are of course welcome.

Command Line Features

  1. "s4 add" performs a normal subversion add, then do a "s4 fixprop" on all of the new files.
  2. "s4 checkout" is extended if the top directory that you check out contains a file called Project.viewspec. If Project.viewspec is present, s4 allows you to create a "view" composed of subversion directories from different areas of the same repository, automatically. This uses SVN externals, but the user does not need to know how the externals tree is constructed, and can then deal with the "view" as if it was the real layout of the repository.
  3. "s4 snapshot" generates a compact patch file that describes how to reproduce a svn working copy exactly.
  4. "s4 scrub" turns a "used" source tree into a pristine one, as efficiently as it can. This equivelent to, but much faster than a "rm-rf" followed by svn checkout.
  5. "s4 update" is extended to support views, as with "s4 checkout".

Programmer Utilities

  1. The SVN::Getopt package allows you to parse any "s4" or "svn" command, and determine if it is legal, and the values of every flag and file component.

See also

See the buttons at the top of this page, which include:

SVN::S4 installation

SVN::S4 Documentation