- If you're totally new to Version Control, then you'll find this PDFfrom the Pragmatic Programmer bookshelf is an "easy reading" introduction to the topic of version control.
- If you are part of the Section on Statistical Genetics (SSG), there is a copy of Pragmatic Version Control, Using Subversion, 2nd Ed available for checkout.
To get started on Subversion, a version control system we like, read the intro and guided tour chapters from the excellent (and free) O'Reilly Subversion book .
I've been using CVS
- Even if you're an experienced CVS user, it is a good idea to go through the reading list in the previous section.
- Read the Appendix for CVS users in the O'Reilly Subversion book. And this nice article that offers 10 tips for people who're switching from CVS to SVN.
- If you are considering the migration of an existing CVS repository to SVN, you'll want to take a look at cvs2svn and possibly refer to the notes from the CVS to SVN migration for the HDBSTAT software.
- Decide how you are going to use SVN
- Operating System (Linux, Windows, Mac OS)
- User Interface (from the Command Line, from an IDE, using a GUI)
- Based on the previous decision, pick one or more from the list of Subversion clients below. The installation process for most of these is a breeze.
- Once SVN is installed, the following resources might help ease the learning curve:
- You can browse some existing SVN repositories by pointing your web browser to Sventon.
- Step-by-step instructions for beginners using TortoiseSVN, contributed by Qi Yan.
|Recommendations from the SSG programmers|
We use and recommend the command line svn client. On Windows that usually means installing the svn package under cygwin. On Linux this is already taken care of on our local Linux servers and on the clusters.
From the command line
- Download the client for most operating systems from here.
- On cygwin for Windows, the svn package can be installed using the cygwin package manager.
- Or if a package is otherwise unavailable, you can compile and install from the source code.
From a GUI
- Windows - TortoiseSVN (tested, used and recommended)
- Linux - rapidSVN (not tested; actually, a multi-platform tool)
- Mac OS - scplugin or svnX
- As of January 4, 2013, scplugin does not have move/rename commands, which are crucial tools for version control. See this stackexchange page for discussion of good paid clients for Mac.
From your IDE
- Eclipse: A neat, stable plugin called subclipse
- IntelliJIDEA: This IDE has subversion support built in
- Visual Studio: AnkhSVN
Subversion on SSG systems
- The SSG subversion server is hosted at svn.ssg.uab.edu.
- Supports the svn scheme.
- SVN Administrator: Vinodh Srinivasasainagendra, IT Manager, SSG, SOPH, firstname.lastname@example.org
There are a few dozen available repositories corresponding to the various data analysis, software development, paper writing, and other projects ongoing within the SSG that are taking advantage of version control.
|Creating a new subdirectory in the incubator repository|
Because there are many existing projects in the incubator, you need to take care when checking out at the top-level. In other words, don't do this:
Unless you intend to check out every single project within incubator. You probably want to do:
The -N or --depth options tell your SVN client to check out an empty top-level incubator directory, which will allow you to
After the SVN repository is created, we use a repository URL to checkout a working copy of the repository of interest.
- Sventon (Repository Viewer): http://services.ssg.uab.edu/sventon2
- Mechanical Engineering also has a page for Subversion. We should probably join forces and work on a single page.
- Describes authz example in detail
- Performance tuning Subversion
- Interesting article on 'keeping your life in subversion'