by Glen Stansberry
Subversion is a version control system that many Web developers and designers use to back up their work. Subversion was started in 2000 and is quite popular in the open-source community; major repositories such as Google Code use it to distribute source code.
While other version control systems, like Git, have become quite popular among developers, Subversion (SVN) is still considered the standard for version control systems and is used for the majority of projects on the Web that need something like it. SVN provides the ability to share source code in a collaborative way, making it popular with teams for sharing and contributing to projects. It’s also a great choice for designers who want to keep versions of their personal work environments.
There are quite a few resources available for those who want to learn about SVN-like tools, tutorials and SVN clients, so that you can get started working with the popular version control system.
Getting Started with SVN
If you’re just getting started with SVN, the hardest part is the learning curve. Here are a few tutorials to get you started on the right track and ease the pain.
Subversion Cheat Sheet
If you’re looking for a more concise version of how to set up SVN, this quick cheat sheet will get you well on your way.
The Subversion Book
Version Control with Subversion is an excellent book to start with. It covers every topic related to SVN, from what SVN is to how to use it to advanced usage.
Subversion Official Documentation
Once you’ve gotten the basics, check out SVN’s official documentation. The documentation contains just about everything you’ll ever need and is a great reference tool.
SVN 1-Click Setup
If you’re on a Windows machine, SVN 1-Click Setup will do just what the name implies: set up your SVN environment in one click with an installer.
SVN clients allow you to bypass more advanced tools such as the command line by providing a graphical interface. Here are a few of the most widely used SVN clients.
Tortoise SVN (Windows only)
Tortoise SVN is probably the most widely used Windows shell for SVN and is open source.
Cornerstone (Mac only)
Cornerstone is an elegant SVN client for Mac users. It’s not open source and requires a commercial license ($69 USD), but it has an excellent UI to work with.
Cross-platform SVN client built in Python. Open source.
SmartSVN is another cross-platform SVN client, but targeted more at professional developers. The client comes in free and professional versions, with the professional version starting at $79 USD.
An open-source Eclipse plug-in providing support for Subversion within the Eclipse IDE. Among its features are local history cache, various visualization tools and merging assistant.
Subcommander is a cross-platform, open-source client that makes basic SVN functions quite easy to use.
FSVS stands for “Fast System Versioning”, and this open-source command-line client does exactly that.
Syncro SVN Client
A cross-platform SVN client with a fantastic UI. One of the stand-out features of Syncro SVN is its ability to let you quickly see revisions in the same pane. $59 USD.
scplugin (Mac only)
Scplugin, also open source, is much like Tortoise SVN in that it uses the Finder on the Mac as an SVN interface.
Psvn.el is an SVN client for eMacs, a popular open-source text editor.
iPhone SVN Log Viewer
While not technically an SVN client, the iPhone SVN Log Viewer allows you to keep track of commits and changes to your SVN repository in an iPhone app.
If you already use an integrated development environment (IDE), then plug-ins are available to interface with SVN.
VisualSVN for Visual Basic by Microsoft isn’t open source; a license costs $49.
How to Ignore IDE Project Files in Subversion
If you’re going to use an IDE on your project with SVN, check out this article on how to exclude project files from your repository.
SVN Repository Browsers
Trac is much more than an SVN browser: it’s a complete project management tool. Aside from letting you browse SVN repositories, Trac allows you to create wikis, track bugs and much more. Trac is used in many open-source projects to manage workflow and is considered the standard for this purpose.
SVN repositories are pretty plain and don’t let you browse the code very easily. By default, SVN just dumps source code into the most basic form of HTML and links. Here are a few scripts you can upload to your server to get a better interface for your project’s source code.
Warehouse is a beautiful open-source application that allows you to browse SVN repositories.
WebSVN is in PHP, it’s portable, and it’s easy to install.
A simple repository browser that allows for multiple repositories without browser or platform-specific extensions.
Polarion WebClient for SVN
If Java is your bag, Polarion offers a platform-independent Java Web browser for SVN.
For those wanting a little more control over their repositories and a public face for their projects, hosted SVN might be a good solution. Hosted SVN takes the guesswork out of creating your repository and installing an SVN browser for it.
You can easily host your project’s source code for free using Google Code.
CVSDude is a popular CVS and SVN repository hosting service. Plans start at $5.99 per month.
Beanstalk is similar to CVSDude except that it syncs seamlessly with Versions (mentioned above) and has a much more elegant design. A free version for a limited number of users and 100 MB of upload space is available. Personal plans start at $15 per month.
Unfuddle hosts SVN and Git, manages bug tracking, and offers 200 MB of storage for free. Premium plans start at $9 per month.
Assembla is more of a team collaboration website, but it features hosted SVN as well as bug tracking, ticketing and other collaboration features. Plans start at $2 per user per month.
Subversion Community Websites
Looking for answers to your SVN-related questions? Check out some of these community websites. Many have forums, mailing lists, training centers and more to get you primed for SVN.
If you need help on a Subversion-related topic, look no further than SVNForum. SVNForum has a community of over 14,500 members, posting questions and answers on virtually any topic.
CollabNet is from the same organization that manages the SVN project, so it provides training resources and means of connecting with CollabNet’s SVN engineers.
Subversionary has a bevy of tutorials and articles in the areas of configuration and working in most environments.
If you want a few books to browse offline, then here are a few titles sure to help you understand all things SVN.
Subversion in Action
While it may be a tad dated for a technology book, Subversion in Action provides an excellent overview of how to use SVN in everyday scenarios. It is an excellent starter book for SVN newbies.
Practical Subversion, Second Edition is authored by two Subversion project contributors and is the most up-to-date book on the version control system. You can preview the first chapter in Google Preview.
Subversion Version Control: Using the Subversion Version Control System in Development Projects
Perfect for Web developers who want to learn more about SVN.
Given SVN’s popularity, it’s no surprise there are plenty of tutorials and articles on how to wield it. Here are a few of the best.
Subversion for Web Projects
Many Web developers still don’t use some kind of version control for projects. Here’s an informative article on how Web developers can get started with SVN in a local environment.
Making the Jump to SVN
A somewhat dated but still highly relevant article on the benefits of SVN, complete with an in-depth overview of how SVN works.
Keeping Your Life in Subversion
Go beyond backing up your work to backing up everything on your computer with SVN.
How to Set Up a Personal Home Subversion Server
Lifehacker has a great article from 2006 giving a thorough rundown of how to get SVN rolling on your home machine for personal use.
Mirroring a Subversion Repository
This guide helps you create a Subversion utility, “svnsync,” that allows you to clone a read-only repository.
Configuring Subversion to Use a Proxy Server
Sometimes the only work environment in which you can set up SVN is on a proxy server. This article explains the extra bit of manual configuration needed to do that.
Maintaining an SVN Mirror Directly from Git
While Git is becoming more popular every day, many developers are still most comfortable with SVN. If you run a Git repository, you can create a read-only SVN repository from it.
Top 10 Subversion Tips for CVS Users
There was a time when CVS was the most used revision control system. Even though SVN has taken the reigns, some CVS users out there might benefit from learning the reasons why one would switch to SVN.
Mergeinfo – Understanding the Internals
Everything you ever wanted to know about SVN 1.5’s important mergeinfo command.
Do you use version control?