Documentation

Links

Help

ISG

 

CGD Computing FAQs

Subversion FAQ

Helpdesk Requests

General Questions

Basics of using Subversion

.......................................................

Helpdesk Requests

1.1 I need a new Subversion repository created.

Submit a work request, either via the web or email it to wreq@cgd.ucar.edu to CGD/ISG with the following information:

  • Name of repository.
  • Person responsible the repository.
  • An organizational group name (more along the lines of political or use boundaries than section boundaries).
  • A list of users and what type of access they require (read-only, or read+write).

You will recieve confirmation once it has been created, along with your password and access information. The support staff is not responsible for the initial import of data into your repository, please refer to the FAQ entry for initial imports to accomplish this.

1.2 I need to give a user access to my repository, or I need access taken away.

Submit a work request, either via the web or email it to wreq@cgd.ucar.edu to CGD/ISG with the following information.

  • The group and name of the Repository
  • A list of users with what you want their access changed to; Read, Read+Write, or No Access.

To request permission changes, you should be the person listed as the sponsor of the repository.

1.3 I have forgotten my Subversion account password, and need it reset.

Submit a work request, either via the web or email it to wreq@cgd.ucar.edu to CGD/ISG regarding this issue, or if the matter is urgent you can call the CGD/IS Hotline at x1378.

1.4 My repository is unavailable, could you tell me when it will be back up?

The support staff is generally aware of and actively working to repair server failures and accessibility issues related to systems work, power failures, or other fairly major events that affect machine room operation. If you know that something along those lines are happening at the time of your access problems, it is very likely that the server will be brought back ASAP.

If you believe that the issue is related to your computer or how you are attempting to connect, or if you are unsure whether we are aware of a server problem, please file a work request, either via the web or email it to wreq@cgd.ucar.edu to CGD/ISG regarding this issue, or if the matter is urgent you can call the CGD/IS Hotline at x1378.

1.5 I need the svn client to be installed on another machine. Can you do this?

Svn is currently installed on the following machines, which may be more convenient to you then installing the client on a new machine:

  • bangkok
  • calgary
  • dart
  • dewdrop
  • eldorado
  • mineral
  • poorman
  • roach
  • salina
  • vespa

If you still want svn on a different machine, and it is a CGD/ISG managed machine, then absolutely. Please file a work request, either via the web or email it to wreq@cgd.ucar.edu to CGD/ISG regarding this issue, or if the matter is urgent you can call the CGD/IS Hotline at x1378.

If the machine is under another support group's management, then contact your local systems administrator. If you need to install the client yourself, recent stable versions are available through the subversion website at http://subversion.tigris.org.

.......................................................

General Questions

2.1 What is Subversion?

Subversion is an open-source implentation of a Current Version System (CVS), made available for use under the GPL. For more information on CVS in general, visit wikipedia's entry on CVS.

A repository is a remote location to keep source code, binaries, documentation, and other project related materials that change through the development process. As changes are made to the repository, Subversion keeps track of them, giving you access to view, compare, and access old versions of the documents. In fact, you cannot delete anything from a repository, so it is a very safe way to work - No amount of confusion can permanently harm a project which is housed in a repository since you can always re-submit an older version of the files.

If you think your project could benefit from the use of a Subversion repository, visit the FAQ entry about having a new suversion repository created.

2.2 Who manages the Subversion server?

The Information Systems Group of CGD. The server was set up and is maintained mainly by Mark Moore, the head of CGD/ISG. If you have a problem with the system you should file a work request, either via the web or email it to wreq@cgd.ucar.edu to CGD/ISG regarding this issue, or if the matter is urgent you can call the CGD/IS Hotline at x1378. If you have more specific questions about details regarding the implementation of Subversion in CGD, email Mark Moore at mmoore@ucar.edu.

2.3 Can my group/project get a repository?

Absolutely. Simply refer to the FAQ entry on requesting a new repository.

2.4 May I have a personal repository?

Yes you may. Currently each user is allowed to have one repository for personal use. When requesting this repository, the appropriate group is 'users' and the repository name should be your own Unix username.

.......................................................

Basics of using Subversion

3.1 How do I put the initial code in my new repository?

You must be able to access the files you wish to upload from one of the machines with the svn client installed. Its a good idea to organize your files the way you want them in the repository, in their own directory. This is much easier than later re-doing the entire directory structure of your repository.

  1. Navigate to the directory which holds your project files and directories.
  2. Type : svn import . https://svn-group-repository.cgd.ucar.edu/trunk/ -m "Initial Import"
  3. You should be prompted for a password, and then see some lines which read something like 'Adding xxx', and at the end a message saying 'Commited to revision 2.'

If you have any problems, contact the CGD/ISG staff. Submit a work request, either via the web or email it to wreq@cgd.ucar.edu to CGD/ISG regarding this issue, or if the matter is urgent you can call the CGD/IS Hotline at x1378.

3.2 How do I use Subversion / What is svn?

All access to a subversion repository is made through use subversion's command line client, svn. Svn is installed on most linux servers in CGD, for an exact list check this FAQ entry.

Getting Help
'svn help' 'svn help cmd'

Checking Out the Repository
'svn checkout' or 'svn co'

Adding and Removing files/directories from the repository
'svn add file' 'svn rm file' 'svn mkdir dirname' 'svn rmdir dirname'

Updating my repository to match the most current version
'svn update'

Submitting my changes to the Repository
'svn commit' or 'svn ci'

3.3 How do I get my code from the repository?

You must 'checkout' a repository through the use of the svn client:

svn checkout username@https://svn-group-repository.cgd.ucar.edu/trunk ~/group-repository-trunk

3.4 How do I submit my changes to the repository?

You must use the 'svn commit' command:

svn commit -m "Put a log message here with what you changed."

If you do not use the -m switch, the command will launch your default editor where you can log your updates. Once you save and quit from the editor, the rest of the commit will take place.

3.5 How do I add new files to the repository, rather than just edit existing ones?

You must use the 'svn add' command on a file in the directory tree of your working copy:

svn add newfile.pl

3.6 Can I change the directory structure of my repository?

You can, through the use of the 'svn mkdir', 'svn mv', and 'svn rmdir' commands.

3.7 How do I view subversion logs of my repository?

Use the 'svn log' command.

If you need a specific log, use 'svn log -r ##', where ## is the revision number whose log you'd like to view.