XFree86 Public CVS Access

The XFree86 CVS Repository is Open

The XFree86 CVS Repository is open and available for public read
access 24 hours a day, 7 days a week, 52 weeks a year. This has bee maOur hosting is generously provided by Internet Software Consortium.

The XFree86 Public CVS, is a copy of our master repository, and
makes it possible for any developer to download and track XFree86
development almost on real-time basis. Changes are reflected on
our public Commits list or can be viewed
on our ChangeLog.

Questions about something that was either committed, testing
errors which you have found, or even an outstanding patch that
you have submitted but has yet to be committed, should be brought
up on the devel list so that it can be
discussed with other active XFree86 developers.

Remember, that all downloads taken from the repository are not
guaranteed to either compile or run, and so may not work as expected
on your platform. This is because when you check out source from
the CVS repository, you are getting a snapshot of our real-time
development source tree, while it is still in a state of flux.

Only released binaries and their attendant tagged sources
have been community tested to run on the specific platforms we state
in our current Release
Notes.

First to access the XFree86 CVS repository with anoncvs, you will
need three (3) things. The first thing is the CVS utility. The second,
is a SSH version1 or version2 compatible version of SSH like either ssh or OpenSSH and lastly, an Internet
connection which permits ssh connections (not all ISPs do so make
sure yours does.

Users downloading under French jurisdiction cannot legally
use > 128 bit encryption but should download the CVS using ssf
instead of ssh utilities.

If you are unfamiliar with ether using the CVS utility or the
CVS commands go to the CVS web
site for further information. Additional information on anoncvs
can also be found at the OpenBSD web site.

Now that you have the proper environment in which to access our public
CVS you then need to set the following environment variables:

As of 14 November 2002, the cvs utility will no longer
prompt you for a password when accessing the XFree86 anoncvs repository
via ssh, and it is no longer necessary to install an ssh key to avoid the
password prompting.

Accessing Anoncvs via Cvs Pserver
in an UNIX-like environment

To access the XFree86 CVS repository with anoncvs via cvs pserver you
will need the CVS utility loaded on
your machine, and an Internet connection that permits cvs pserver
connections (TCP port 2401). If you are unfamiliar with CVS go to the CVS web site. Additional information
about anoncvs can be found at OpenBSD's web site, but a
lot of what is there is site-specific.

Next set the following environment variables:

For sh/ksh/bash:

CVSROOT=:pserver:anoncvs@anoncvs.xfree86.org:/cvs
export CVSROOT

For csh/tcsh:

setenv CVSROOT :pserver:anoncvs@anoncvs.xfree86.org:/cvs

If you don't want to set $CVSROOT
instead you can run cvs as:

cvs -d :pserver:anoncvs@anoncvs.xfree86.org:/cvs

The first time you access the CVS repository, run:

cvs login

Enter "anoncvs" when prompted for a
password after which you can run cvs commands without needing to
re-enter the password on that machine.

Access via CVSup

CVSup is a tool for mirroring and/or accessing CVS repositories. It
can be used in two modes: mirroring mode and checkout mode. Mirroring
mode can be used to obtain and keep your own local copy of the XFree86
CVS repository and efficiently keep it up-to-date. Alternatively,
checkout mode is used if you only want the current copy of the source
tree.

To access the XFree86 CVS repository with CVSup you will need
the CVSup utility installed on
your machine, and an Internet connect that permits connections to
TCP port 5999. You will also need to create a CVSup configuration
file.

The first two lines in the file (we'll call it "xfree86.cvsup") should be:

BASEDIR should be replaced with
the name of the directory that you want CVSup to store its
administrative files. It can be any directory that isn't used for
something else PREFIX should be replaced
with the name of the directory that you want to store your copy of
the repository or source tree in.

If you have a slow network connection, compression can be turned
on by adding the following line to your CVSup config file:

*default compress

If you are going to use CVSup in checkout mode, add the following line
to your CVSup config file:

*default tag=TAG

where TAG specifies the name of
the branch or revision you want your the source tree to track. See
below for information about tag names. If
you want to track the main branch (trunk), TAG should be set to ".":

*default tag=.

If instead you are using CVSup in mirroring mode, then don't add
a tag line.

Finally, you need to add a line with the name of each of the
CVSup "collections" you want to access. The available collections
are:

cvs-base
This is the CVSROOT directory in the
repository, and it is only relevant when using CVSup in mirroring
mode.

xc-base
This is the files in the top level xc/
directory of the source tree.

xc-clients
This is all of the xc/programs/ directory
except for xc/programs/Xserver/.

xc-config
This is the xc/config/ directory.

xc-doc
This is the xc/doc/ directory.

xc-fonts
This is the xc/fonts/ directory.

xc-include
This is the xc/include/ directory.

xc-lib
This is the xc/lib/ directory.

xc-nls
This is the xc/nls/ directory.

xc-servers
This is the xc/programs/Xservers/
directory.

xc-util
This is the xc/util/ directory.

xc-extras
This is the xc/extras/ directory.

xc-all
This is all of the xc/ directory. It
includes all of the xc-* collections
above. This corresponds directly to the xc CVS module (see below).

contrib-all
This is the contrib/ directory. Note:
this is only relevant if you want to deal with XFree86 versions
older than 4.0. This corresponds directly to the contrib CVS module (see below).

xtest-all
This is the test/ directory, which
consists of the Xtest suite. This corresponds directly to the
test CVS module (see below).

doctools-all
This is the doctools/ directory, which
consists of the documentation formatting utilities. This corresponds
directly to the doctools CVS module
(see below).

utils-all
This is the utils/ directory, which
consists of the miscellaneous utilities. This corresponds directly
to the utils CVS module (see below).

Once you've created your CVSup config file, which should be called
xfree86.cvsup, you can invoke cvsup by running:

cvsup xfree86.cvsup

CVSup config file examples

The following CVSup config file can be used to mirror the entire
XFree86 CVS repository:

The CVS Repository

To find a list of available modules, you can check out the "modules" module by running:

cvs checkout modules

This creates a directory named modules
which has a file named modules with the CVS module definitions within
it, i.e. modules/modules. The list of
available modules can also be viewed
here or on our cvsweb
server. Some of the modules listed are out of date. The main
current modules are:

xc
This is the Main source tree and includes contrib as of 4.0.

contrib
This is the Contrib source tree directory for versions named
3.x,
except for 3.3.x branch which is considered dead.

test
This is the Xtest suite directory.

doctools
This is the documentation formatting utilities directory.

utils
This is where the miscellaneous utilities e.g., the "extract" utility
are stored.

The XFree86 CVS repository is tagged at fairly regular intervals.
The main tags have the form of xf-X_Y_Z as
in the sample release of 3.3.6 which has the tag of xf-3_3_6. The XFree86 release 4.0 has the tag
xf-4_0 and intermediate (test) releases,
previously referred to internally as alpha and beta releases,
have either one or more letters appended to their version number as in
the second release after 4.0 is 4.0b, and its tag is called xf-4_0b.

The 4.x development work occurs on the main branch. 3.3.x
development is on the xf-3_3-branch branch
and has been retired. It is highly recommended that you upgrade to
a newer release, but to checkout the 3.3.x version run:

cvs checkout -r xf-3_3-branch xc

To check out the latest 4.x version run:

cvs checkout -A xc

DISCLAIMER: There are no guarantees that
intermediate versions of the code, including those marked
with "intermediate release" tags, which are checked out from the
repository will either build or run. The source is in a constant
state of development done. Only full released binaries
are likely to run on their designated platform, although there can
be configuration problems and other issues that were undiscovered
before release.

Getting Help

The XFree86 Project does not provide support for CVS
pre-release code. We do however, have community mailing lists available and then there is
also our Bug-Man available so you can
report issues that you may have had.