Go to the first, previous, next, last section, table of contents.


Revision Control Systems

Setting Up the Development Environment for Alto

This is only relevant for shared delopment (at the UofA) Currently, we are using rcs but we are planning on swiching to cvs soon.

`mkdir src'
Create a local directory that will hold a shadow copy of the master source directory.
`cd src'
Change into the newly created directory.
`ln -s /r/sin/home/debray/ALTO/src Master'
Add a symbolic link named `Master' in your shadow directory to the master directory. This make access to the <b>master</b> easier and is needed by the `fix.csh' script.
`lndir Master'
Initialize the local (shadow) directory. This will fill the shadow directory with symbolic links to the master source files. The idea is to have symbolic links (shadows) to those files that you HAVE NOT changed and local copies of the files you HAVE changed. Ie. others will not see your changes until you want them to.
`ln -s Master/RCS RCS'
The above did, unfortunately, not achieve a link to the RCS directory. You have to do this manually. If you forget to do this it seems that changes you make will be immediatelly visible to everybody right away. This is bad!
`gmake headers'
Create header files
`gmake'
This will produce the ALTO binary.

Checking Out a File

To check out a file you load the file from your shadow directory (NOT the master directory!) into Emacs. You then check it out using C-x C-q or the menu option `Tools:Version Control:Check Out'.

This will make the file writable for you and the corresponding file in the master directory is now "locked" for everyone else (pure magic!). They can still read the original version but they cannot change it.

If you now make changes and save the file, the new file will be saved in your shadow directory and not in the master directory. Everyone else will still see the (locked) original.

Checking In a File

When you have updated a file and made sure that it still works, you want to put it back in the master directory for everyone else to see. You do this i two steps.

First you check in the file in Emacs using C-x C-q again. This gives you the opportunity to write a comment on your changes. Type C-c C-c when your comment is written. The file in the master RCS directory is now updated. No update of the work file in the master directory itself taken place. To make this happen you must use the shell script `fix.csh' in your shadow directory. Run it in your shadow directory with the name of the file you just checked in as the only argument.

`./fix.csh file'

This script also replaces the file in your directory with a symbolic link to the file in the master directory again. This will make future changes made by others visible to you.

Creating a Snapshot of the Lastest Checked in Version

Change into the main src directory.

` rcs -n snapshot-name: *'

Checking Out a Snapshot

`co -rsnapshot-name src/RCS/*'

Stealing a Lock

`rcs -u file '


Go to the first, previous, next, last section, table of contents.