Received: (from majordom@localhost) by hyperreal.org (8.8.5/8.8.5) id LAA02553; Sun, 17 Aug 1997 11:56:28 -0700 (PDT) Received: from scanner.worldgate.com (scanner.worldgate.com [198.161.84.3]) by hyperreal.org (8.8.5/8.8.5) with ESMTP id LAA02544 for ; Sun, 17 Aug 1997 11:56:24 -0700 (PDT) Received: from znep.com (uucp@localhost) by scanner.worldgate.com (8.8.5/8.8.5) with UUCP id MAA21642 for new-httpd@apache.org; Sun, 17 Aug 1997 12:56:23 -0600 (MDT) Received: from localhost (marcs@localhost) by alive.znep.com (8.7.5/8.7.3) with SMTP id MAA28421 for ; Sun, 17 Aug 1997 12:55:12 -0600 (MDT) Date: Sun, 17 Aug 1997 12:55:12 -0600 (MDT) From: Marc Slemko To: TLOSAP Subject: how to use anoncvs Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org 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:~$ CVSROOT=:pserver:anoncvs@anoncvs.apache.worldgate.com:/cvs 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 anoncvs@anoncvs.apache.worldgate.com:/cvs) 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 or 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.