Subversion

From Pirates@Home

Jump to: navigation, search

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.

This page is being constructed for possible inclusion in the Unofficial BOINC wiki.

Please do not move the page by hand. It will be imported by an administrator with the full edit history. In the meantime, you may continue to edit the page as normal.

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.

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

Personal tools