Using CVS

From Glacsweb Wiki
Jump to: navigation, search

Using CVS

Perhaps we switch to svn. Either way we keep proper code repository again.

Repositories Avaiable

The project has 3 old CVS repositories containing code.

glacsweb

This contains 2004 and 2005 code, including GPS RTK/non-RTK, GSM, base comms and weather station tools.

sensornet

This contains 2006 code written by Al and Kirk.

sensornet2

This contains Ahmed's 2006 code - but probably older than 2007 version!

Checking out your own copy

Always work on a proper checkout of the repository, not a copy of the code elsewhere, as it makes it much easier to resolve conflicts.

On a standard Linux system, you need to permanently set the following environment variable to make CVS access to glacsweb code work correctly:

CVS_RSH=ssh

To check out a copy of a repository, use the following command:

cvs -d :ext:USER@gwcvs:/home/shares/glacsweb/GWcvs co SHARE

where USER is your ECS username, and SHARE is one of glacsweb, sensornet or sensornet2. You will be asked for your standard ECS password before the checkout work. gwcvs is a server alias that points to the system we use as a cvs server. Once we go into the field, this will be a different machine, but everything will still work.

Once you have your checkout, you can update from within the directory as follows:

cvs update

and commit your new changes using as follows:

cvs commit

Always update before commiting to ensure any other changes are merged. Always write an entry in ChangeLog describing concisely what you have changed. It is essential that everything is commited, and there are no outstanding changes before we go into the field. Once we are setup in Norway, changes can continue.


If you do a cvs up and it marks files as "C" for conflict you will find marked sections like this in your code:

<<<<<<< name.c
bla bla
oh dear
=======
bla bla
>>>>>>> 

the top one is yours and the bbottom one is the version in CVS - you need to MERGE these together to maintain functionality and preserve changes