Overview
The Subversion (SVN) cheat sheet is a one-page reference sheet for Subversion on the command line.
If you like the cheat sheets, and want to say thanks, please consider buying me something from my Amazon Wishlist. Thankyou very much to those who have already hunted it down and sent me something - I'm very grateful!
Downloads
The Subversion Cheat Sheet is released under a Creative Commons License (Attribution, Non-Commercial, Share Alike).
Please note: If you wish to link to a cheat sheet from elsewhere, please link to this page so others find all available versions, the license and the description.
Subversion Components
Subversion is made up of several different parts. In addition to the svn command line program most people are familiar with, there are also utilities like svnlook and svnadmin, a server (svnserve) and an apache module.
Subversion Protocols
Subversion clients can connect to subversion servers over a variety of different protocols, including HTTP and SSH.
Subversion Help
If you ever find yourself stuck, of unsure of how a command works (and this cheat sheet is unable to help), check out "svn help" for general Subversion help, or "svn help command" for help with a specific command. Please note that command line commands will be marked with "$" on this cheat sheet. Explanations will be on the following line and italicized.
Repository Administration
This section of the cheat sheet shows some of the basic, and most commonly used, repository commands, starting with how to create a new repository.
Getting Started
The first thing you are likely to want to do with a brand new repository is add some files to it. For this, you will need the import command. If you want to create a local copy (usually referred to as a working copy) of a repository, you will need to checkout. And if you want to grab any changes to the repository, you will need to run an update.
Adding, Deleting, Copying and Moving
These sections of the cheat sheet outline basic file and folder operations: Adding, Deleting, Copying and Moving.
Revert Changes
If you want to undo changes you have made to your working copy (i.e., change it back to the way it was when you last updated it), you can revert changes.
Logs and Blame
Log files are what make version control systems useful, giving you a complete history of changes to a repository. The log command will show you all the changes to a path, and the blame command will show you the changes to a path with more specific information.
Diffs and Merges
The diff command shows you the difference between two files, while the merge command allows you to apply the diff between two files to a third one.
Commit
Commit is the command you will use most often when working with SVN, by far. It is the command you run when you want to send what you've changed back to the repository. You should always add a message with your commit, explaining the changes you are making.
Miscellaneous Commands
This section of the cheat sheet lists some of the lesser used Subversion commands, including cleanup - a command to resursively remove locks and complete unfinished operations (very useful when things go wrong) and resolve (when you are working on a file, but another developer has changed the file at the same time, you will have a conflict - this command is to be used when the conflict has been resolved).
Item and Property Statuses
If you run the status command on a path, you will see a list of letters (and blank spaces) for each item in the path. Each of these letters has a specific meaning and tells you something about the file you are viewing. This section lists those letters and their meanings.
Property Commands
Items in a Subversion repository have properties specific to SVN, and these properties can be added to, edited or deleted. This section lists the commands you will need in order to be able to work with properties.
Argument Shortcuts
Finally, almost every Subversion command takes a selection of arguments, and many of these have shortcuts. If you want to commit changes to a folder, but don't want to commit changes to its contents, you could type svn commit --non-recursive "/path", but it's much quicker just to use the shortcut -N instead of --non-recursive.
Thanks
Much of the content on this cheat sheet is based on the excellent SVN Book, available at http://svnbook.red-bean.com/. This is the first cheat sheet created with the involvement of the Cheat Sheets Google Group. Many thanks to Alan Switzer and Randy Merrill for their suggestions and feedback. Finally, thanks also to the 210 people who requested this cheat sheet!

18 Comments
It might make more sense for the PNG version to be a simple link instead of a "force this to be a download" page?
I just want it to open in Firefox, not prompt for programs to use.
#1, Adam V., United States, 7 August 2008. Reply to this.
Adam: I'm not certain I'm going to keep the download setup as it is now - I might well revert it to the old system where you could view online. The problem with that was that most people were bookmarking the sheets to view online rather than saving them and/or printing them - then when I started having server trouble they couldn't access them at all.
I'm working on improving my hosting setup so this might not be a problem in future, and I'm happy to change it back (or even just present more options for downloading or viewing online) if that's what people want.
#2, Dave Child, United Kingdom, 7 August 2008. Reply to this.
Dave, maybe you should specify somewhere that your cheat sheet is for svn 1.4, as 1.5's been recently released and has quite a few supplementary features
#3, masklinn, France, 7 August 2008. Reply to this.
masklinn: I was aiming for the cheat sheet to be usable for 1.5 - is there something there that won't work with 1.5?
#4, Dave Child, United Kingdom, 7 August 2008. Reply to this.
@Dave: Good point about bandwidth... maybe posting on Google Code and linking to it over there might help?
#5, Adam V., United States, 7 August 2008. Reply to this.
Dave, absolutely not, as far as I know the svn 1.5 interface is completely backwards compatible with 1.4, it's just that 1.5 has a few interesting goodies (e.g. a shortcut for svn log's "--limit", the beginnings of merge tracking, ...)
#6, masklinn, France, 8 August 2008. Reply to this.
Hi, Dave!
Just a quick note: you have a typo in paragraph #2; Thank you runs together as Thankyou...
Feel free to erase this comment if you fix the typo!
:D
#7, Tieson T., Grand Rapids, MI, USA, 15 August 2008. Reply to this.
I guess cheat sheets are something that will always come in handy, some things never change, and anything to help the cause is a good thing. Thanks for the info.
Respectfully,
Dr Saxe
#8, Dr Saxe, United States, 17 August 2008. Reply to this.
If you're concerned about hosting issues, I'd recommend using Scribd.com for hosting your PDFs and any other documents. They have a wonderful way to see most documents online and also allow downloads.
#9, Ben Lawless, Unknown, 15 September 2008. Reply to this.
How about one for Git? Probably too much to ask... ;-)
#10, Douglas Clifton, Unknown, 25 November 2008. Reply to this.
I´ve been using cheat sheets for a while... I´d like to try this version, it looks more complete.
Thanks for the tip!
#11, Transportadora, Brazil, 27 January 2009. Reply to this.
Even though the new version of SVN is out, I still like this cheat sheet.
#12, Mexabet, Australia, 27 February 2009. Reply to this.
how are do you cheat????
plixxxxxx kasih tau
#13, ITSbeautiful, indonesia, 8 May 2009. Reply to this.
nice tip, i like this cheat sheet, thanks so much for sharing.
#14, ngan hang, Unknown, 30 July 2009. Reply to this.
class information, which makes it nice still sites that are fully informed. again many thanks and keep it up
#15, Geld-Blog, Belgium, 8 August 2009. Reply to this.
Great post, i like all of your cheat sheets. A big thanks for you!
#16, kodegeek, Dhaka, 21 August 2009. Reply to this.
would you prepare/share a cheat sheet for git?
#17, kodegeek, Dhaka, 21 August 2009. Reply to this.
Very interesting cheat sheet on subversion. Nice I found it.
#18, Tiger Army, Australia, 25 October 2009. Reply to this.