Subversion (svn)

Subversion is a version-control management system. It's useful when more than one person is making changes to a set of files, whether those files are part of a software project or a LaTeX document.

The Nevis svn server is svn.nevis.columbia.edu; as of Jun-2010, this is the same machine as our web server.

Setting up a subversion repository

Only a systems administrator can set up a repository on the svn server. These are the questions you'll be asked:

  • What will be the name of repository (e.g., atlas, k2k, sciboone, nusong). The name does not have to be in lower case, but it will simplify typing if it is.

  • What accounts will be allowed to access your repository?
    • These accounts are completely separate from the regular Linux cluster accounts; they can have any names and passwords you choose.
    • Each account can have different access rights to the repository. The typical case is to have a general account or "anonymous" account for read-only access, and give read-write access to those accounts that might changes to the files.
    • What will the account passwords be? These passwords should not be the same as your Linux cluster password:
      • they will be sent over the network in clear text;
      • the systems administrator will have to type it into a plain text file. This file is not public, but the sysadmin will know what it is.

  • Do you want the repository viewable via ViewVC?
    • Click on the ViewVC link to get an idea of how this will look.
    • Some of the repositories can be browsed without a password (e.g., fmwk); others require an account to access.
    • Note that you can't hide the existence of a repository, whether or not it can be browsed.
    • If you wish to restrict web access to your repository, you select which accounts can access the web page.
      • Typically, we set up web access to be restricted to the same account name/password combination with read-only access to the repository via svn.
      • There's no direct link between the svn and ViewVC access; different accounts and passwords can be created for each one.

  • Unless you explicitly state otherwise, your repository will be created with the tags, branches, and trunks sub-directories as recommended by the Subversion documentation.

Using a subversion repository

The complete (and nicely-written) Subversion documentation is available on-line.

Just to get you started: If your repository is called magenta, and you have a bunch of files in ~/magenta that you want to use to initially populate the repository, the command would be:

cd ~/magenta
svn import . svn://svn.nevis.columbia.edu/magenta/trunk

You will be prompted for an account name and password with write access.

For someone else to get a copy of those files in their own area, they might use:

cd <where they want your stuff>
svn checkout svn://svn.nevis.columbia.edu/magenta/trunk

They would be prompted for an account and password that had read access.

After they made changes to the files, they could update the repository with:

svn commit -m "The reason for these changes"

You could then update your copy of the files with the changes they made:

svn update

For more information, chapter 2 of the manual has everything you're likely to need.

Viewing a subversion repository

The URL of the web viewer is http://svn.nevis.columbia.edu/viewvc. Note that most of the repositories at Nevis are password-protected.

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2011-08-09 - WilliamSeligman
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback