Getting W3C Perl Modules from the CVS Repository

CVS allows YOU to follow the development of the W3C perl modules closely and to contribute with patches and new features.

The following requires that you are familiar with CVS - if not then look at Cyclic's pages on CVS or the excellent information provided by Pascal.Molli.

W3C Perl Module Releases

CVS allows you to use the very latest version of the modules - as soon as a fix or a new feature is commited to the CVS repository then you can update your working version and you will have it right away.

The purpose of "releases" is to say that now we believe that the code is stable with a well defined set of features. Until now, we have been giving out distribution files every time we announced a release. This will not change, but you can use the CVS repository in exactly the same way - often with much less overhead than dealing with a distribution package.

Every release is marked in the CVS repository using tags, so that it is possible to retrieve a complete release using the CVS -r option (note that -r is "sticky"). Check out the online CVS log walker for the current set of release tags. We were less strict tagging all the files in early releases so don't go too far back in the past if you expect to be able to compile the code!

Anonymous CVS Checkout

Anonymous checkout is read-only access which allows you to get the latest edits and to provide patches to be integrated into the code base. The instructions should work for both Unix and Windows, and may even work for Macs although I am not sure. A couple of notes:

Start by login as follows:

% cvs -d :pserver:anonymous@dev.w3.org:/sources/public login

after which you type "anonymous" as password.

Checkout the Latest Version

To get the latest version from the CVS repository, run this command:

% cvs -d :pserver:anonymous@dev.w3.org:/sources/public -z3 checkout perl/modules

After which you will get all the code coming at you, you'd better have at least 10MBytes available on your machine. Now you are ready to getting boot strapped.

Checkout a Specific Revision

If you want to get a specific release using CVS tags then you can do this by using the the CVS "-r" option, for example

% cvs -d :pserver:anonymous@dev.w3.org:/sources/public -z3 checkout -r V1_1 perl/modules

Check the CVS log walker for the current set of release tags. If you at some point want to revert to the latest untagged version then you should use the following command:

% cd perl/modules
% cvs -z3 update -A

CVS Write Access

Only collaborators who have intimate knowledge of the code base have CVS write access. If you are considering becoming a module libarary contributor, please contact the current administrator before committing changes to the module library.

SSH Based CVS Checkout

Collaborators can get read/write access to the CVS repository using SSH. You setup CVS to use SSH as remote shell by setting the CVS_RSH env variable. Using bash or similar, it looks like this:

% export CVS_RSH=/usr/local/bin/ssh

When you are using SSH, you don't need to do a CVS login. Instead you can just go ahead checking out the module library like this

% cvs -d dev.w3.org:/sources/public checkout perl/modules

and you will be prompted for your SSH credentials. Again, if you want a specific revision then use something like this

% cvs -d dev.w3.org:/sources/public -r Release-5-2 checkout perl/modules

The Apache Group has some special notes on how to use SSH for Windows.

How to Get the Latest Updates

The big advantage of using CVS is that you easily can keep your version of the code base up to date with the latest edits and changes committed to CVS. Whenever something has been committed, a notification will be sent to the <www-lib@w3.org> mailing list (see here how to subscribe) as well as getting listed on the latest changes page.

Once you have checked out the module library CVS tree (not a specific revision), you can get any updates committed to the tree by using the cvs update command like this

% cd perl/modules
% cvs -z3 update -d
% cd ..

It is important that you use the "-d" flag so that you get new directories as well as updated files.

Eric Prud'hommeuax,
@(#) $Id: cvs.html,v 1.3 2002/04/02 22:06:12 eric Exp $