Source Control

Overview

This project uses Subversion to manage its source code. Instructions on Subversion use can be found at http://svnbook.red-bean.com/.

Web Access

The following is a link to the online source repository.

Repository access

Everyone can access the Subversion repository via HTTPS, but Committers must checkout the Subversion repository via HTTPS.

Access through a proxy

The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The files location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%", note this is a hidden directory.)

There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.

Example : Edit the 'servers' file and add something like :

[global]

http-proxy-host = proxy.example.com

http-proxy-port = 8080

Write Permission

To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)

$ svn commit --username your-username -m "A message"

Configuring your Subversion client

Please ensure that your subversion client is configured to set the svn:eol-style property automatically. To do that add these directives to the subversion configuration file, which by default is found or created here:

  • Windows: C:\Documents and Settings\<login name>\Application Data\Subversion\config
  • OSX/Linux: ~/.subversion/config

If a [miscellany] or [auto-props] section already exists in the config file it is important that you append these settings rather than duplicate the section.

Commit messages

Please write a commit message that describes the purpose of the change. If you are committing code to fix a jira issue please include the identifier (i.e. RVM-53) in the commit message. If you are committing code supplied by another individual please indicate the individual.

Commit content

Please keep commits as focused as possible. Separate out functional and none functional changes into separate commits. (i.e. Code formatting changes should appear in different commits from feature modification commits.)