GCC: CVS access to the GCC web pages

Note: the GCC sources are maintained in our SVN repository now.

Our web pages and related scripts are available to the public at large via our CVS source repository.

In addition, you can browse the CVS history online at

Using the CVS repository

Assuming you have both CVS and SSH installed, you can check out the GCC sources as follows:

  1. Set CVS_RSH in your environment to ssh.
  2. Set CVSROOT in your environment to :pserver:cvs@gcc.gnu.org:/cvs/gcc.  Alternately add -d :pserver:cvs@gcc.gnu.org:/cvs/gcc immediately after cvs in the commands below.
  3. The command cvs -qz9 checkout -P wwwdocs, will check out the web.

Patches should be marked with the tag [wwwdocs] in the subject line.


Read-write CVS access

We have read/write access to the CVS repository available for significant developers.

Once your account has been set up, check out the GCC sources by setting CVS_RSH in your environment to "ssh" and issuing the command

cvs -z 9 -d :ext:username@gcc.gnu.org:/cvs/gcc co wwwdocs

where username is your user name at gcc.gnu.org.

To avoid the nuisance of having to supply your passphrase for each operation, you may want to use ssh-agent(1) and ssh-add(1).

To avoid messages about (lack of) X11 forwarding, put in your $HOME/.ssh/config an entry like:

Host gcc.gnu.org
ForwardX11 no


Checking in a change

When you check in changes to our web pages, they will automatically be checked out into the web server's data area.

The following is meant to provide a very quick overview of how to check in a change. It is not meant to be a replacement for the CVS manual but instead a supplement. The CVS manual is distributed as part of the CVS sources as a texinfo file. http://www.cvshome.org/cyclic/cvs/doc-blandy.html contains a link to an reasonably simple introduction to CVS.

In all the commands listed below, you can give an explicit list of filenames to the cvs command. We recommend you list files explicitly when performing checkins to avoid accidental checkins and prefer that each CVS checkin be of a complete, single logical change, which may affect multiple files.

  1. Sync your sources with the master repository via "cvs update" before attempting a checkin; this will save you a little time if someone else has modified that file since the last time you synced your sources. It will also identify any files in your local tree that you have modified.
  2. We recommend using "cvs diff" after applying a patch to a local tree. Review the output to make sure that only the changes you wanted to check in will be checked in.
  3. Use "cvs commit" to check in the patch. You can enter the log message via the "-m" argument to commit, or wait for the editor window to appear and enter the log message in the editor window.
  4. After exiting the editor, CVS will connect to the GCC cvs server and check in your changes. When your prompt returns the checkin is finished. A message will be sent to the gcc-cvs-wwwdocs mailing list indicating that a change was made. CVS will provide a message if an error occurs and it will not check in any files.

The host system

The setup of the machine running the gcc.gnu.org site is also available, through cvsweb and anonymous read-only CVS. Use the same procedure as above, but use :pserver:anoncvs@gcc.gnu.org:/cvs/sourceware for the repository and infra for the module.