Using CVS (deprecated)
We recently converted the website content repository from CVS to git. This page is here for historical interest only. See our guide to using git instead.
CVS is a program to help manage having multiple people work on the same material simultaneously. Every user creates a local copy of the main repository. The local copies can be on the same machine, or across the world. Users can then modify the local copy as they wish and when the modified material is ready, commit the changes back to the main repository.
For a read only access it's possible
to use the web
frontend. There exist also many graphical CVS clients such as
This document describes the workflow with the command line program
cvs, other clients provide similar functionality.
CVS will not let you commit a file if the copy in the main repository has been modified since your last update. This is not normally a problem as you can still update your local copy. If the modifications were to different parts than you were working on, the changes are silently merged. If the changes affect the same area you were working on, you will be warned that there is a conflict and you need to edit the file to fix the problem before committing.
In what follows anonymous access will be used as an example. If you have access to another account which gives you write permission to the repository then you should use that account instead. If you are planning on making changes, you should get an account before starting as anonymous users cannot commit changes. See the section on write access for more information.
To begin using CVS, you must first
login to the CVS server
cvs -d :pserver:email@example.com:/cvs/webwml login
(just hit enter for the password here)
To check out a copy of the wml files on your local machine, you need to use
cvs -d :pserver:firstname.lastname@example.org:/cvs/webwml checkout webwml
You can check out a subset of the pages like this:
cvs -d :pserver:email@example.com:/cvs/webwml checkout -l \ webwml webwml/<language> cvs -d :pserver:firstname.lastname@example.org:/cvs/webwml checkout \ webwml/Perl webwml/english/template webwml/<language>/Pics cvs -d :pserver:email@example.com:/cvs/webwml checkout \ webwml/<language>/<path to desired files>
Repeat for all subdirectories or files that you want. The second line includes all the files you will need if you wish to create HTML from the WML files. Partial checkouts such as these aren't really supported, though, so the above instructions may not always work.
For write access to the repository over SSH you may need to tell CVS to use SSH instead of rsh for logging in by adding a line to your shell config:
If you have an Alioth account, with an associated public SSH key, you can use it instead like this:
cvs -d :ext:firstname.lastname@example.org:/cvs/webwml checkout webwml/english/doc
From then on, you will not need to use the
part. Every few days you will want to do a
cvs update -d
to retrieve any files from the repository which have changed. The
-d update option will add any new directories, automatically.
It will also check out all the directories that were omitted if you performed a
partial checkout — in that case you might want to use the
You may want to create a
~/.cvsrc file so that you don't have
to type some options all the time. For example, it can contain:
cvs -z9 update -d -P diff -u
The following is for those who have write permission on the repository. When you are done with a page, you can commit your changes to the repository using
cvs commit <file>.wml
cvs commit <dir> (to commit all the changes in <dir>)
cvs commit (to commit all changes from the current dir down)
If you are the first person translating a page, you need to do
cvs add <file>.wml
before you commit it. Note that
cvs add is not recursive so
you need to add a directory before you can add its contents.
For more information on CVS, use
If you include
Closes: #nnnnnn in your commit log
entry then bug number
#nnnnnn will be closed
automatically when you commit. The precise form of this is the same as
in Debian policy.
Many Debian websites support SSL, please use HTTPS links for the ones that do support SSL. Some Debian/DebConf/SPI/etc websites do not have HTTPS support or are only signed by SPI and not by any SSL CA that is trusted by browsers outside of Debian, we should avoid linking to https: versions of these websites so that people not using Debian don't get errors they may not understand. The CVS repository will reject commits containing plain HTTP links for Debian websites that support HTTPS or containing HTTPS links for the Debian/DebConf/SPI websites that are known to either not support HTTPS or use certificates signed only by SPI.
If you already know how to help, and
have provided enough patches that have been accepted by the web team or a
localization team, you could obtain write access to the website: please request
to join the
webwml project on Alioth (you will have to create an Alioth
account if you don't already have one).
Please write something useful in your request, like which language or which
part of the website you plan to work on, and who would vouch for you.