httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <>
Subject how to use anoncvs
Date Sun, 17 Aug 1997 18:55:12 GMT
                          HOW TO USE ANONCVS

Developers with commit access to the Apache source tree normally
use CVS to keep their local copies of the source tree up to date
automatically.  This is a very useful ability that also allows
for getting change history of files, diffs between arbitrary 
versions, etc.  This is also the method used to commit changes 
to the source tree.

For those who do not have commit access to the source tree, anoncvs
offers an alternative way to do most of this using a copy of the
CVS repository.  The big difference is, of course, that you can't
commit changes using anoncvs.

The first step in using anoncvs is setting your CVSROOT environment 
variable.  This tells CVS what server to connect to.  Currently
the only available method on this anoncvs server is pserver; you
need a reasonably recent CVS client to use it.  An example of 
setting it from a bourne shell:

  marcs@host:~$ export CVSROOT

It is very important that you do not put a trailing "/" on "/cvs".

Once you have set your CVSROOT, you need to login:

  marcs@host:~$ cvs login
  (Logging in to
  CVS password: 

You can use anything you like for the password; it does not matter.  

To check out the current development tree:

  marcs@host:~$ cvs checkout apachen
  cvs server: Updating apachen
  U apachen/ABOUT_APACHE
  U apachen/CHANGES
  U apachen/KEYS
  U apachen/src/support/suexec.c
  U apachen/src/support/suexec.h
  marcs@host:~$ ls apachen
  ABOUT_APACHE    KEYS            README.NT       conf            logs
  CHANGES         LICENSE         cgi-bin         htdocs          src
  CVS             README          cgi-src         icons

To checkout the current 1.2 tree:

  marcs@host:~$ cvs checkout -rAPACHE_1_2_X apache

After 1.3a1, there was a source tree reorganization which resulted
in the tree being split into apache and apachen.  apache is everything
from before the reorganization, apachen is from after.  apachen still
retains the change histories of the files, however since they are
in different locations you can not build an apachen tree from 
before the reorganization.

To update your local tree to the latest version:

  marcs@host:~$ cvs update -dP apachen


  marcs@host:~/apachen/$ cvs update -dP .

etc.  If you have a branch such as the 1.2 branch checked out, you need
to use something like:
  marcs@host:~$ cvs update -rAPACHE_1_2_X -dP apache

While doing any update, you will notice several different status flags, eg.:

  P core/buff.c
  P core/conf.h
  RCS file: /export/home/cvs/apachen/src/core/http_core.c,v
  retrieving revision 1.109
  retrieving revision 1.110
  Merging differences between 1.109 and 1.110 into http_core.c
  M core/http_core.c

The P means that the local copy was patched to update it to the 
current version.  The M means that your local copy was modified,
but that the changes were merged into your copy successfully.  If
you see a C that means that there was a conflict in merging 
the changes and that you need to review the file manually (hint: 
search for >>>> in the file) to merge the changes.

To obtain a diff of changes between your checked out copy and 
the source tree at the time you checked it out:

  marcs@host:~$ cvs diff -u apache

To obtain a diff against the current source tree, be sure to
do an update before the diff.

The idea of having an anoncvs server is to make it much easier
for people interested in doing development to have access to the
CVS tree so they can submit patches against the current source
tree and can keep their patched version up to date without 
having to manually merge their patches all the time.

This anoncvs server is updated periodically from the main CVS
repository, so it will lag a bit behind the current tree.

View raw message