About Subversion

Subversion is an open source version control system, released under an Apache/BSD-style license. This application was designed, and is on track to replace CVS. Users familiar with CVS will be able to jump into Subversion easily as most of the interface is the same. Details about the benefits and technical information can be viewed on the Subversion home page, here are just a few of the highlights:

  • Atomic Commits
  • Versioned meta-data
  • Revision numbers are per-commit, not per-file
  • Uses Apache web server and WebDAV/DeltaV for network communication
  • Enables binary diffs

Getting Help

The subversion book is an excellent resource for users and administrators, it can obtained here.

Browsing the Repository

You can browse the repository using ViewSVN here.

Getting the sources from Subversion

There's a few options for you. Subversion can be run from the command line (Linux or Windows) and there are also an increasing number of GUI's and plugin's.

Command-line tools

The SVN utilities are available as native Windows, Linux, and solaris binaries. The source is also avaiable for other operating systems. The binaries and source can be obatined from the Subversion download page..

To get the entire project, run the following command

          svn co https://svn.apache.org/repos/asf/directory
        

This will take a while, depending on your connection. Go ahead and grab yourself a coffee or ten. When done, you should have checked out all Directory sources. You will now need to install Apache Maven, our default build tool if you haven't already.

Use TortoiseSVN

TortoiseSVN is a neat extension for the Windows Explorer which integrates SVN. Using it is real simple:

After you've created a folder where you want to check out the sources to, right-click and select SVN Checkout. Then, fill out the settings like in the screenshot below, and then click ok.

screenshot of SVN settings

Commit with Subversion

Getting Access to Subversion

Before you can commit to the subversion repository, you will need to create an SVN password. To do this, log on to minotaur.apache.org and run the following command:

          svnpasswd 
        

The will ask you for a subversion password. This is the user and password you will use when checking in code.

Commit Code Via Command Line

When you commit code to subversion, it will try to use the username you are logged in as on the current system. If this is different than your subversion username, you will need to specifiy this on the commit statement. Subversion will prompt for your password when you run the command. Note the is the SVN password, which is not the same as your minotaur password This password can be entered as a command line argument to avoid interaction. The follow command line will commit with a specified username and password:

          svn commit --username username --password password
        

Commit with Tortoise

To commit with TortoiseSVN, simply right click on the directory you want to run the commit from and select commit. A list of files changed will be displayed with a text box for a log message. At this point you can select which files should be committed and enter you log text. Select OK to start the commit, a dialog box will appear prompting for username and password. You will also be able to select a check box to remember the credentials. If you select this check box, you will not be prompted for information in the future