Using CVS
Contents
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