[Tinyos-devel] Sourceforge CVS

Philip Levis pal at cs.stanford.edu
Mon May 15 04:06:57 PDT 2006


Recently, Sourceforge had a month-long partial CVS outage due a rash  
of hardware failures. CVS seems to be up and working properly again,  
but they have change things slightly in order to minimize the effect  
of similar failures in the future. Until very recently, the CVS  
server for TinyOS (and all other sourceforge projects) was

cvs.sourceforge.net

They've now switched to a hierarchy where each project has its own  
server name. This means that the TinyOS CVS tree is at

tinyos.cvs.sourceforge.net

If you are checking out a fresh tree, all you need to do is follow  
the instructions on the CVS web page and it will work fine. But if  
you have an existing tree, you have to update all of the CVS metadata  
within it to point to the new server. You can do this with this shell  
script:

perl -pi -e "s/cvs\.sourceforge/tinyos\.cvs\.sourceforge/" `find . |  
\grep Root`

The CVS server name is stored in a file in the CVS/ subdirectory of  
each directory, CVS/Root. This shell script has two parts: finding  
all of those files, and then using Perl to modify cvs.sourceforge.net  
to tinyos.cvs.sourceforge.net. The command in back quotes (`find . |  
\grep Root`) does the first task, and generates a file list, which is  
then passed as an argument to perl, which applies a replacement  
rule.  Run this script from the top of your CVS directory, e.g.:

$ cd tinyos-2.x
$ perl -pi -e "s/cvs\.sourceforge/tinyos\.cvs\.sourceforge/" `find .  
| \grep Root`

Phil


More information about the Tinyos-devel mailing list