Jump to: navigation, search

Contents

GYRO CVS

Existing packages (current)

gyro-7.3cvs 
GYRO source code.
tgyro-0.9cvs 
TGYRO source code.
neo-0.2cvs 
NEO source code
doc-0.1 
GYRO Technical Guide (latex).

NOTE Below, gyro-x will stand for gyro-7.3cvs

Setup

In .bashrc (or equivalent), set

export CVSROOT=username@hydra.gat.com:/c/cvsroot/gyro_repo
export CVS_RSH=ssh

where username is your user name on hydra. If you do not have a hydra account you will need to get one.

CVS from trusted GA system

If you are on a trusted GA system, you should do two more things:

First, add that system to .rhosts on hydra.gat.com:

$ cat ~/.rhosts
banach.gat.com  username
drop.gat.com	username

and then change the communication protocol to rsh:

export CVS_RSH=rsh

These changes will enable you to avoid repeated typing of your password.

Repository location

The current GYRO repository resides at hydra.gat.com:

hydra:/c/cvsroot/gyro_repo

Currently two CVS packages are available: one for GYRO sources and one for the technical manual:

hydra:/c/cvsroot>ls -l gyro_repo/
total 4
drwxrwxr-x   3 candy      users         1000 Jan 31 12:45 CVSROOT
drwxrwxr-x   3 candy      users          376 Feb 12 15:05 doc-0.1
drwxrwxr-x  20 candy      users          648 Feb 11 23:11 gyro-x

Checkout and update

The checkout process copies CVS config files and is suitable for editing via CVS.

$ cvs co gyro-x

After making changes to gyro-x, AND carefully testing for correctness, you can commit all changed files by typing

$ cvs commit

or only a subset of files via

$ cvs commit file_1 file_2 ... file_n

You can check for recent updates using update:

$ cvs -n -q update

cvs update produces output to the terminal with the following meanings:

Return Code Description
U file indicates that file was brought up to date with the repository or that it exists in the repository but not in your work space
P file does exactly as above but uses the "patch" method
M file means the file was modified in your work space. Any additional changes from the repository were merged in successfully
C file means a merge is necessary because both the your copy and the repository have changed but there is a conflict between the changes
? file means the file exists in your work space but not on the repository

You can attempt to merge updates by typing

$ cvs update -dP

where the flags ensure that new directories are added and deleted ones are pruned respectively.

Add and remove

To add gyro-x/newfile to the repository, type

$ cvs add gyro-x/newfile
$ cvs commit

To remove gyro-x/newfile, type

$ rm gyro-x/newfile
$ cvs remove gyro-x/newfile
$ cvs commit

Tagging changes within a release

$ cvs rtag release_tag gyro-x

Here, release_tag is an identifier that ought to denote a particular significant milestone -- for example, cray_optimized. Developers should tag after large modifications.

To view existing tags, type

$ cvs status -v gyro-x/VERSION
===================================================================
File: VERSION           Status: Up-to-date

   Working revision:    1.1.1.1
   Repository revision: 1.1.1.1 /c/cvsroot/gyro_repo/gyro-x/VERSION,v
   Sticky Tag:          (none)

   Sticky Date:         (none)
   Sticky Options:      (none)

   Existing Tags:
        new_profile_scheme              (revision: 1.1.1.1)
        cray_optimized                  (revision: 1.1.1.1)
        initial_release                 (branch: 1.1.1)

Exporting current version

The export process does not copy CVS config files. Use this for releasing GYRO to non-developers.

$ cvs export -DNOW -d gyro-exported gyro-x