Intevation » FreeGIS » GRASS » CVS server

About the GRASS CVS server

The GRASS CVS server was started in late December 1999 to support the development of this large, multi-authored project.

Send any question, comments to Markus Neteler ( who is the coordinator for the GRASS development or to the address at the bottom.

Some links:
GRASS - Homepage
GRASS CVS introduction on the homepage.

Do I need access to the CVS server?

Asking this question you will probably not need the CVS access. You can get source-code snapshots and more stable source code releases from the GRASS download section.

Who can access the GRASS CVS server?

GRASS is Free Software, licensed under the GNU GPL. Anyone can access the CVS server in read-only mode via an anonymous login.

If you want to actively contribute source code you can get CVS write-access. Please contact Markus Neteler ( who ist the coordinator of the GRASS development. Any help is welcome.

Just browse through sources

If you just want to browse for a particular file and its history, check the HTML Interface for the GRASS repository. Make sure to select the correct branch you are interested in using the selection box on the bottom when you are in a module! You need to check the GRASS branch overview page to know which branch will contain the latest developments.

Read-only access

First, you need to set up your CVS client software (version 1.10 or higher). To set up your CVS client for read access simply set the environment variable CVSROOT to:
(Consult your shell or cvs client on how to this. Example for unix bash:
export )

Then do a "cvs login" and type "grass" when your are asked for password.

Now you can checkout the tree using the command "cvs -z3 co grass6" (please don't use compression "-z9", it would essentially decrease the servers performance). This will create a subdirectory "grass6" in the current directory, with the full sources of the GRASS Project in that subdirectory (about 100 MB). Downloading of the sources may take some time, but CVS will tell you what's going on...

Note: Code can be organized in multiple branches indicated by tags. Tags can also indicate certain released versions. Read here about the GRASS branches and tags to make sure you are not working with possibly outdated sources.

Please refer to your local CVS documentation for more information on CVS.


Go to any subdirectory of your directory "grass" and execute "cvs -z3 update -d -P". The current working directory and all its subdirectories will be updated. If you execute this command in the grass main directory, the whole grass sources will be updated which could take some time. The switch "-d" takes care that even new directories are checked out, "-P" will remove direectories which are empty after updating.

In case you just want to download/update a specific part of the GRASS source code you can checkout/update a directory directly:


If you want to get the latest NVIZ code:

    cvs -z3 co grass6/visualization/nviz
    cvs -z3 update -d grass6/visualization/nviz

What is CVS?

"CVS" is an acronym for the "Concurrent Versions System".

The concurrent version control system or CVS is a "Source Control" or "Revision Control" tool designed to keep track of source changes made by groups of developers working on the same files, allowing them to stay in sync with each other as each individual chooses.

Borrowed from the CVS FAQ (section 320) that Pascal Molli used to maintain.

Check out

Write access

The grass development coordinator usually grants cvs write access to everyone actively coding in the project.

To get it running read on how to get GRASS CVS write access with ssh.

Bernhard Reiter <>