Fetching older repository snapshots

In addition to all of the above commands, you can use svn update and svn checkout with the --revision option to take an entire working copy “back in time[8]:

$ svn checkout -r 1729 # Checks out a new working copy at r1729
$ svn update -r 1729 # Updates an existing working copy to r1729


Many Subversion newcomers attempt to use the above svn update example to “undo” committed changes, but this won't work as you can't commit changes that you obtain from backdating a working copy if the changed files have newer revisions. See the section called “Resurrecting Deleted Items” for a description of how to “undo” a commit.

Lastly, if you're building a release and wish to bundle up your files from Subversion but don't want those pesky .svn directories in the way, then you can use svn export to create a local copy of all or part of your repository sans .svn directories. As with svn update and svn checkout, you can also pass the --revision option to svn export:

$ svn export http://svn.example.com/svn/repos1 # Exports latest revision
$ svn export http://svn.example.com/svn/repos1 -r 1729
# Exports revision r1729

[8] See? We told you that Subversion was a time machine.