The Concurrent Versions System (CVS) provides network-transparent source control for groups of developers. They can work independently and "feed the system" (the source code repository) remotely through internet - day and night from all over the world.
Even if you do not contribute to the code development, the CVS allows to follow development progress easily. After downloading the full GRASS CVS tree, just the future changes will be sent to you by using the CVS software. This method reduces further downloads for updating your local GRASS sources extremely.
Further features of CVS:
The CVS prevents us and you from further GRASS version confusion. As every change is under control of the CVS system the current state as well as old versions can be accessed. This is very important for bug-tracking (finding bugs introduced by changes).If you download the GRASS sources from the CVS system, you get the latest version existing! Of course, you can also download a previous version, if you prefer. Once downloaded the entire GRASS CVS tree including the CVS-internal subdirectories you can follow the ongoing development easily. The "update" function downloads only the changes not yet included in your system. CVS compares the GRASS source code version in the CVS-server with your local version.
As GRASS is a rather big package this might be one reason for you to use CVS. If you are not yet convinced please read the texts below. CVS is distributed here and usually shipped within several Linux distributions. It is available for rather every operating system.
The GRASS-CVS service is hosted at Intevation GmbH, Germany. There is additionally a "web-cvs" interface which allows to browse the source code. The status of each file (its change history) is written there, you can also download individual files. Jump in and see how it is working!
Download the binary CVS client program:
Tags in CVS indicate a development state, a moment in time. Here you find a beginning list of GRASS releases tagged in CVS. If you want to download GRASS with defined status, you may use the "tags" denoted here:
To checkout a specific tagged version, run (example):