CVS

From VISTA LAB WIKI

Jump to: navigation, search

Contents

[edit] CVS

We previously used CVS to manage software versions.

The CVS repository is now locked. We have shifted to SVN. See software page.

The old CVS instructions - in case you are fond of them - can be found here.

[edit] Four essential CVS terms

  • 'Repository' - This is the master database that resides on the main server. It is shared by all users.
  • 'Check out' - You download a copy of the master code from repository to your computer.
  • 'Commit' - When you are satisfied with changes on your local copy you 'commit' them back to the repository.
  • 'Update' - This command applies changes in repository to your local copy.

[edit] CVS on Windows

You must have an account on white if you plan to use tortoisecvs.org with mrVista.

[edit] Downloading TortoiseCVS

  1. Download from TortoiseCVS.
  2. You will need to reboot your machine after installing TortoiseCVS.
  3. After the reboot, CVS options are inserted in the pop-up menu when you right click. The interface is much like the one used by WinZip.


Starting with release 1.10.1, which is available as a Release Candidate, Tortoise CVS has native x64 support. If you would like to use a stable release on a 64-bit platform, you can either use this test version or you can start a 32-bit explorer on Windows by doing the following:

  1. Start menu --> select "Run"
  2. In the Run window, type "cmd"
  3. In the new window, type "%windir%\syswow64\explorer.exe /separate,C:\."


[edit] Example: Check out a module

CVS checkout interface
  • Change into the directory where you want to store your local copy of the mrVista software. For example, change into a directory C:\user\yourName\Matlab.
  • Right click on the folder and select CVS checkout.
  • A CVS options box will appear (see figure below). Fill in the fields below, not the "CVSROOT" field. CVS automatically fills in the "CVSROOT" field for you. If it doesn't (which happened on Davie's 64-bit PC), enter the following in this field ' :ssh:yourusername@red.stanford.edu:/biac1/wandell/src/CVS ' then click "Fetch list" next to the module drop down menu. this will load up a list of modules, choose the one you want from the drop-down menu (e.g., VISTASOFT), then OK. Downloading should begin.
  • Try to change the protocol field to "Secure shell (:ssh)" if you get repeated errors.
  • The example illustrates checking out ISET-3.0.
  • If you are downloading to windows, please also select the 'Options' tab at top, and select the 'Use UNIX line endings' checkbox at bottom. This will prevent a particularly annoying quirk in which UNIX and Windows editors use different line ending formats.
  • CVS will download the code you are checking out. In the example shown, you will have a directory called ISET-3.0. For mrVista users, you should check out these: VISTASOFT/{Anatomy,filters,mrAlign4,mrDiffusion,mrFlatMesh,mrLoadRet-3.0}, mrVista2.



[edit] CVS on Linux, MacOS-X, and other unixes

A command-line CVS is probably already installed on your system. Open a terminal and type 'cvs'. If you get a 'command not found' error, install a cvs client. (E.g., on RedHat/Fedora, run (as root) 'yum install cvs'; on Debian/Ubuntu/etc. try 'sudo apt-get install cvs'.) If you want to use a command-line CVS on Mac OSX and it complains that it doesn't have one already, you will need to sign up to the Apple Developer Connection ADC, then download Xcode tools. There is probably some way to just download whatever code allows you to run CVS -- if you find it, please write about it here. As it is, downloading the entirety of Xcode 2.4.1 takes about 20 minutes. There is also a Mac tutorial on using CVS through the command-line here: http://developer.apple.com/internet/opensource/cvsoverview.html

Once you have cvs working, here's how you'll checkout the VISTASOFT repository (replacing 'username' with your white username):

 export CVS_RSH=/usr/bin/ssh
 cvs -d username@white.stanford.edu:/biac1/wandell/src/CVS checkout VISTASOFT

This will download the latest version of the entire VISTASOFT repository into a directory called 'VISTASOFT'. Once you've done this once, you can efficiently get code updates by going into the VISTASOFT directory and running cvs update:

 cd VISTASOFT
 cvs -q update -d

(The '-d' flag is important, in case new directories have been created in the repository; this will add the new directories.) If you've made changes to your local copy of the code (what cvs calls your 'sandbox'), use cvs commit to commit your changes to the repository on white. Be sure that you are in the VISTASOFT directory and run:

 cvs commit -m "write some notes here about what you did"

If Instead of modifying a function, you have made a new function (filename) and would like to add it to the repository run:

 cvs add filename

and then again cvs commit.

Lastly if you want to revert to an older version and remove the edits you (or others) have made from the cvs repository, run:

 cvs admin -o1.6: filename

Be careful with this command because this will delete versions 1.6 and up from the repository, thereby reverting to version 1.5. You can find the version number that you want to revert to on the cvs webpage. A more conservative way of reverting is to change the function back and check it in as a new version (cvs commit).

[edit] Web interface for the CVS repositories

The CVS page on white contains links to the VISTASOFT repository, where you can browse through the directories and read about different files.

Below is a snapshot from the EventRelated directory for mrLoadRet-3.0.

CVSweb.png

Clicking on the revision number (2nd column) allows you to see and download the content of the current version of a particular file.

CVSrev.png

Clicking on the filename (3rd column) allows you to view or download previous versions of the file, and also to compare revisions. This is especially useful if you want to revert to a previous version.

CVSfile.png

Personal tools