The Global Proteome Machine Organization
  Version Control of thegpm and Supporting Code using Subversion

NOTE: Starting Dec. 27, 2010, our Subversion repository has been moved to a new computer and the archive revision number reset. If you have a previous working copy, you will have to check out a new one to use this system.

The gpm code repository is now available to all by file transfer protocol here: ftp://ftp.thegpm.org/repos.

Users authorized to modify the code will use Subversion to create and maintain their own copy of the entire repository

If you require authorization, please contact us here.

Subversion users need know only one command, svn, issued from the command prompt. The subcommands are described below. For simplicity, commands are described as being issued from the working copy directory, though they will accept working directory path as an argument. Naturally useful are:

C:\> svn help

and

C:\> svn help subcommand

To begin using Subversion for any operating system, or for much, much more on Subversion, visit  http://subversion.tigris.org/.

Authorized users will be required to enter a username and password once each session for those commands which write to the repository.   You may specify them using the

--username uid  --password pwd

switches, but it is perhaps easier to wait to be prompted. The first password prompt will presume to guess your username. If it gets it wrong just hit enter and you will be re-prompted for username.

To create the working directory C:\wrkdir with a copy of the code, start at the root of C: and enter:

C:\> svn co http://source.thegpm.org/repos wrkdir
C:\> cd wrkdir

The chdir command puts you in the same directory as the svn repository information obviating specification of a directory path in subsequent commands.

If some time has passed since you created the working copy of the code, you should update the working copy before making modifications:

C:\wrkdir> svn update

If you have already made changes—forgetting to update first—svn update will never destroy your changes, but if your changes conflict with changes in the repository, you will see a “C” (conflict) message from svn update, and there will be several copies of the code in the working directory for you to sort out. If you get a “G” (merge) message from svn update, “non-conflicting” changes in the repository have been applied to a file that you have changed. Take care they really don’t conflict. Other messages from svn update are “A” (added), “U” (updated), “R” (replaced), “D” (deleted).

If you are a casual user, once you have checked out (co'd) your own copy of the repository, svn update will probably be the only command you will require.

To add a new module (already created in C:\wrkdir\thegpm) to version control, and delete an obsolete module:

C:\wrkdir> svn add thegpm\pnewmod.pl
C:\wrkdir> svn delete thegpm\pobsmod.pl

These commands do not affect the repository until you commit them.

You may wish to examine the changes you have made in your working directory, before you commit them to the repository:

C:\wrkdir > svn diff

However, the svn diff does not detect repository changes made since the last svn update of your working directory.

To undo the modification, addition or deletion of a module in your working directory:

C:\wrkdir > svn revert thegpm\pokafterall.pl

Finally, to commit an authorized user's changes to the repository:

C:\wrkdir > svn commit –m “comment”

Note that the comment is optional, but the –m switch and “” quotes are required.

The svn commit will fail if changes, since your last svn update, have been made to the repository copy of any module you have modified your in your working directory since your last svn commit. Issuing another svn update command forces you to resolve any possible conflicts. Prudent are frequent svn updates during periods of development.

Copyright © 2004-2011, The Global Proteome Machine Organization