by Glen Stansberry
Subversion is a version control system1 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 Code2 use it to distribute source code.
While other version control systems, like Git3, 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 designers4 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 Official Documentation10
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 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.
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.
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.
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.
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.
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 want a few books to browse offline, then here are a few titles sure to help you understand all things SVN.
Subversion in Action58
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 Preview61.
Subversion Version Control: Using the Subversion Version Control System in Development Projects66
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 Projects68
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.
Configuring Subversion to Use a Proxy Server75
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 Git76
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 Users77
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.
Do you use version control?
- 1 http://en.wikipedia.org/wiki/Revision_control
- 2 http://code.google.com/
- 3 http://git-scm.com/
- 4 http://thinkvitamin.com/features/design/subversion-for-designers/
- 5 http://www.abbeyworkshop.com/howto/misc/svn01/
- 6 http://ariejan.net/upload/svncheatsheet-1.0.1.png
- 7 http://ariejan.net/upload/svncheatsheet-1.0.1.pdf
- 8 http://svnbook.red-bean.com/en/1.5/index.html
- 9 http://svnbook.red-bean.com/en/1.5/index.html
- 10 http://svn.collab.net/svn-doxygen/
- 11 http://svn1clicksetup.tigris.org/
- 12 http://tortoisesvn.tigris.org/
- 13 http://tortoisesvn.tigris.org/
- 14 http://www.zennaware.com/cornerstone/
- 15 http://pysvn.tigris.org/
- 16 http://www.syntevo.com/smartsvn/index.html
- 17 http://www.syntevo.com/smartsvn/index.html
- 18 http://www.versionsapp.com/
- 19 http://beanstalkapp.com/
- 20 http://www.versionsapp.com/
- 21 http://subclipse.tigris.org/
- 22 http://subclipse.tigris.org/
- 23 http://subcommander.tigris.org/
- 24 http://fsvs.tigris.org/
- 25 http://www.syncrosvnclient.com/
- 26 http://www.syncrosvnclient.com/
- 27 http://scplugin.tigris.org/
- 28 http://www.xsteve.at/prg/vc_svn/index.html
- 29 http://www.qaware.de/qasvn/QAsvn.html
- 30 http://en.wikipedia.org/wiki/Integrated_development_environment
- 31 http://subclipse.tigris.org/
- 32 http://www.eclipse.org/
- 33 http://subclipse.tigris.org/
- 34 http://ankhsvn.open.collab.net/
- 35 http://www.microsoft.com/visualstudio/en-us/default.mspx
- 36 http://ankhsvn.open.collab.net/
- 37 http://www.visualsvn.com/visualsvn/
- 38 https://www.opends.org/wiki/page/ConfiguringSubversionToIgnoreIDEProjectFiles
- 39 http://trac.edgewall.org/
- 40 http://trac.edgewall.org/
- 41 http://warehouseapp.com/
- 42 http://warehouseapp.com/
- 43 http://www.websvn.info/
- 44 http://insurrection.tigris.org/
- 45 http://www.polarion.org/index.php?page=overview&project=svnwebclient
- 46 http://code.google.com
- 47 http://code.google.com
- 48 http://cvsdude.com
- 49 http://www.beanstalkapp.com
- 50 http://www.beanstalkapp.com
- 51 http://unfuddle.com
- 52 http://www.assembla.com/
- 53 http://www.assembla.com/
- 54 http://svnforum.org
- 55 http://open.collab.net
- 56 http://open.collab.net
- 57 http://www.subversionary.org/
- 58 http://www.manning.com/machols/
- 59 http://www.manning.com/machols/
- 60 http://www.apress.com/book/view/1590597532
- 61 http://www.apress.com/book/preview/9781590597538
- 62 http://www.apress.com/book/view/1590597532
- 63 http://www.pragprog.com/titles/svn2/pragmatic-version-control-using-subversion
- 64 http://www.pragprog.com
- 65 http://www.pragprog.com/titles/svn2/pragmatic-version-control-using-subversion
- 66 http://www.amazon.com/Subversion-Version-Control-Development-Projects/dp/0131855182/ref=pd_sim_b_15
- 67 http://www.amazon.com/Subversion-Version-Control-Development-Projects/dp/0131855182/ref=pd_sim_b_15
- 68 http://athleticsnyc.com/blog/entry/on-using-subversion-for-web-projects
- 69 http://www.macdevcenter.com/pub/a/mac/2004/08/10/subversion.html
- 70 http://www.onlamp.com/pub/a/onlamp/2005/01/06/svn_homedir.html
- 71 http://lifehacker.com/software/subversion/hack-attack-how-to-set-up-a-personal-home-subversion-server-188582.php
- 72 http://www.howtoforge.com/debian_subversion_websvn
- 73 http://www.us.debian.org/
- 74 https://www.opends.org/wiki/page/MirroringASubversionRepository
- 75 https://www.opends.org/wiki/page/ConfiguringSubversionToUseAProxyServer
- 76 http://blog.fallingsnow.net/2007/08/17/maintaining-an-svn-mirror-directly-from-git/
- 77 http://www.onlamp.com/pub/a/onlamp/2004/08/19/subversiontips.html
- 78 http://www.collab.net/community/subversion/articles/merge-info.html