Subversion
From Pirates@Home
Subversion (often abreviated SVN) is a popular revision control system for source code and documentation files. It was designed specifically as a replacement for CVS, another popular revision control system (which was in turn a replacement for RCS). BOINC switched over to using SVN in place of CVS in the spring of 2007.
You will likely need a working copy of SVN if you are setting up a BOINC Project, developing a BOINC application, or working on development of BOINC source code. You do not need SVN to run the BOINC client to participte in BOINC projects.
Contents |
Getting SVN
There are pre-built SVN clients available for Windows, Unix and Mac, or you can get the source code and build SVN from that. Subversion is free, open source software released under an Apache/BSD-style open source license.
Unix
Most Linux distributions have a pre-built subversion package. It may not be installed on your system by default, but it's easy to do so. For example, on Fedora/Red Hat systems one can use yum to install the package. As the root user give the command
yum install subversion
On Debian systems (this inludes Ubuntu) you can use the apt-get command:
apt-get install subversion
See http://subversion.tigris.org/project_packages.html for Solaris, FreeBSD and OpenBSD.
If there is not a pre-built package for your version of Unix then it is straightforward to obtain and build from the source, but you may have to also build and install some supporting libraries, such as "neon".
Windows
A Subersion interface for Windows is available from Tigris as "TortoiseSVN". It runs as a "shell extension", which means that SVN commands are made available as menu items in Windows Explorer. Installation is straightforward. Visit http://tortoisesvn.tigris.org/ for details and a link to the download page.
Mac
Unlike CVS, Subversion is not a part of the MacOS default distribution, but you can easily add it to your system in one of several ways.
- You can install Subversion with Fink. It helps to know that the package is called "svn" not "subversion". If using Fink via the command line, then from a Terminal.app shell the command is
fink install svn
Alternatively, using Fink Commande, which is a GUI interface to Fink, select the "svn" package and then press the "install binary package(s)" button.
- Disk images (.dmg) are available from:
- A Universal installer is available from http://downloads.open.collab.net/binaries.html.
All of these methods, with appropirate links, are described at http://subversion.tigris.org/project_packages.html
Differences between CVS and SVN
The command line interface for SVN is very similar to that of CVS, but there are some notable differences.
- SVN revisions are numbered sequentially, and the revision numbers apply to the entire repository, not just to a set of files.
- SVN does not allow "tags", at least not for snapshots. It does allow "branches" which can be tagged with a name, but the syntax for checking out a branch is different.
Obtaining BOINC code via SVN
From a command shell, cd to a working directory and give the command svn co http://boinc.berkeley.edu/svn/trunk/boinc svn co http://boinc.berkeley.edu/svn/trunk/boinc_samples
A roadmap of the directory tree can be found at http://boinc.berkeley.edu/trac/wiki/SourceCode
External Links
- http://subversion.tigris.org/ - Home page
- TortoiseSVN - Windows client
- Subversion FAQ
