Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 32840 invoked from network); 10 May 2005 00:21:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 10 May 2005 00:21:07 -0000 Received: (qmail 98366 invoked by uid 500); 10 May 2005 00:24:28 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 98345 invoked by uid 500); 10 May 2005 00:24:27 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 98329 invoked by uid 99); 10 May 2005 00:24:27 -0000 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Mon, 09 May 2005 17:24:26 -0700 Received: (qmail 32812 invoked by uid 65534); 10 May 2005 00:21:03 -0000 Message-ID: <20050510002103.32811.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: svn commit: r169386 - in /httpd/site/trunk: docs/dev/devnotes.html xdocs/dev/devnotes.xml Date: Tue, 10 May 2005 00:21:02 -0000 To: cvs@httpd.apache.org From: jsl@apache.org X-Mailer: svnmailer-1.0.0-dev X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jsl Date: Mon May 9 17:21:02 2005 New Revision: 169386 URL: http://svn.apache.org/viewcvs?rev=3D169386&view=3Drev Log: First round hack at dev/devnotes.xml. Modified: httpd/site/trunk/docs/dev/devnotes.html httpd/site/trunk/xdocs/dev/devnotes.xml Modified: httpd/site/trunk/docs/dev/devnotes.html URL: http://svn.apache.org/viewcvs/httpd/site/trunk/docs/dev/devnotes.html?= rev=3D169386&r1=3D169385&r2=3D169386&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- httpd/site/trunk/docs/dev/devnotes.html (original) +++ httpd/site/trunk/docs/dev/devnotes.html Mon May 9 17:21:02 2005 @@ -71,33 +71,75 @@ + +
+ Overview + +
+
+

The Apache HTTP Server Project has switched to Subversion for hosting i= ts +source code.

+

To check out the 2.0.x branch:

+
+ +svn co http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x httpd-2.= 0=2Ex + +
+

To check out the 1.3.x branch:

+
+ +svn co http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x httpd-1.= 3=2Ex + +
+

To check out the current development version (as of this writing, 2.1.x= ), +use:

+
+ +svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-trunk + +
+

Committers should check out via https instead of http (so that they can +commit their changes). For more info about Subversion, please read the ASF version contro= l FAQ.

+

The developers continue to seek to maintain module compatibility between +2.0.42 and future 2.0 releases for administrators and end users, while +continuing the forward progress that has made the 2.0 server faster and mo= re +scalable.

+
+
+ +
+ Maintaining the Sources

Almost all files relating to Apache, either the actual sources or the -files that aren't part of the distribution, are maintained in a -CVS repository. Here is the way i= n=20 -which changes are applied:

+files that aren't part of the distribution, are now maintained in an +SVN repository. Here is the= way +in which changes are applied:

  1. Developer checks out a copy of the files on which it wants to - work, into a private working directory: + work (in this case, the trunk), into a private working directory + called httpd-trunk:

    -
    % cvs checkout apache +
    % svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk + httpd-trunk

    - This step only needs to be performed once. + This step only needs to be performed once (unless the private working + directory is tainted or deleted.) Committers should use a URI prefix + of https on the checkout, to save themselves headaches la= ter.

  2. -
  3. Developer keeps its working directory synchronised with changes +
  4. Developer keeps his/her working directory synchronised with changes made to the repository:

    -
    % cvs update apache +
    % svn up httpd-trunk

    @@ -111,12 +153,13 @@ them:

    -
    % cvs diff -u apache/src/mod_mime.c > /tmp/foo +
    % svn diff httpd-trunk/modules/http/mod_mime.c > /tmp/fo= o

    - The /tmp/foo file is mailed to the developers list so + The /tmp/foo file is mailed to the + developers lis= t so they can consider the value/validity of the patch. It is also worth making sure your code follows the Apache style, as described by the GNU indent flags in the .indent.pro file in every source directory. @@ -126,7 +169,7 @@ Thing, the developer checks the changes into the repository:

    -
    % cvs commit apache/src/mod_mime.c +
    % svn commit httpd-trunk/modules/http/mod_mime.c

    @@ -138,24 +181,29 @@
    - CVS Modules + SVN Modules
    -

    There are several different modules in the Apache CVS repository:

    +

    There are several different branches under the httpd + module in the Apache SVN repository that pertain to the different + releases. The top level can be perused with the + SVN ViewCVS pages. + The main modules pertaining to the httpd server source + are:

    - apache-1.3 + httpd-1.3

    To create a directory tree containing the 1.3 sources, - and call it apache-1.3, change your current directory - to the parent of the tree and then check the 1.3 sources - out as follows:

    + and call it apache-1.3, change your current directory + to the parent of the tree and then check the 1.3 sources + out as follows:

    @@ -167,7 +215,7 @@ +% svn co http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x apache= -1.3 @@ -189,9 +237,9 @@
     % cd /usr/local/apache
    -% cvs checkout apache-1.3

    To create a directory tree containing the 2.0 sources, - and call it httpd-2.0, change your current directory - to the parent of the tree and then check the 2.0 sources - out as follows:

    + and call it httpd-2.0, change your current directory + to the parent of the tree and then check the 2.0 sources + out as follows:

    @@ -203,10 +251,7 @@ +% svn co http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x httpd-= 2=2E0 @@ -216,11 +261,6 @@
     % cd /usr/local/apache
    -% cvs checkout -d httpd-2.0 -r APACHE_2_0_BRANCH httpd-2.0
    -% cd httpd-2.0/srclib
    -% cvs checkout -r APR_0_9_BRANCH apr
    -% cvs checkout -r APU_0_9_BRANCH apr-util
    -

    The httpd-2.0 repository takes advantage of APR and APR-util from the - Apache portable run-time, so those must be checked out separately. - Because not all httpd contributors have access to APR, you may need to - use anonymous CVS to get those repositories. We are looking in to=20 - solving this problem.

    @@ -232,8 +272,9 @@
    -

    If you want to check out the bleeding edge of development, the httpd-2.1 - development tree (slated for a release 2.2), use cvs HEAD as follows:

    +

    If you want to check out the bleeding edge of development, the + httpd-2.1 development tree (slated for a release 2.2), and call it + httpd-trunk, checkout as follows:

    @@ -245,9 +286,7 @@ +% svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-trunk @@ -263,45 +302,28 @@
     % cd /usr/local/apache
    -% cvs checkout -d httpd-2.1 httpd-2.0
    -% cd httpd-2.1/srclib
    -% cvs checkout apr apr-util
    - -
    - site - -
    -
    -

    This module contains the files that live at - http://www.apache.org/. The directory on the host that - maps to that URL is actually a set of checked-out working copies of - the CVS files.

    - - It is important that the files on the Web host not be modified - directly. If you want or need to change one, check it out into a - private working copy, modify that, commit the - change into CVS, and then perform a cvs update -dP to - bring the host directory into sync with the CVS sources. - -

    - The Web site directories are not maintained in synch with - the CVS files automatically. They are manually updated from CVS by - various people as they consider appropriate. This is usually not an - issue, unless a group of files are being updated according to an - ongoing group discussion. -

    -
    -
    - -
    - httpd-site
    -

    Like the site module, this one is used to=20 - maintain the files that comprise a website - in this case, - http://httpd.apache.org/. Also like the previous module, - the directory on the server is a checked-out working copy of this - module.

    +

    This module contains the files that live at http://httpd.apache.o= rg/. + The directory on the host that maps to that URL is actually a set of + checked-out working copies of the SVN files.

    +

    The SVN URI is + https://svn.apache.org/repos/asf/httpd/site/trunk/docs. + + It is important that the files on the Web host not be modified + directly. If you want or need to change one, check it out into a + private working copy, modify that, commit the + change into SVN, and then perform a svn update to + bring the host directory into sync with the SVN sources. + +

    The Web site directories (as opposed to files) are not + maintained in synch with the SVN files automatically. They are + manually updated from SVN by various people as they consider + appropriate. This is usually not an issue, unless a group of files + are being updated according to an ongoing group discussion.

    @@ -313,7 +335,7 @@
    -

    Like the site module, this one is used ot +

    Like the httpd-site module, this one is used to maintain the files that comprise a website - in this case, http://www.apache.org/dist/httpd/. Also like the previous module, the directory on the server is a checked-out @@ -321,6 +343,15 @@ directory, we only have the surrounding documentation and control files checked into this module -- the actual tarballs are simply copied to www.apache.org.

    +

    The SVN URI is + https://svn.apache.org/repos/asf/httpd/httpd/dist.

    +

    Committers would generally deal with this module when "rolling" a + release. This is a series of steps that comprise an actual new + release of the Apache httpd software. Amongst other things, the + key to this module is the tools/ directory, which + contains the release.sh shell script. More information + on the policies and procedures relating to rolling releases can be + found on the Release Guidelines page.

    @@ -330,70 +361,15 @@ - -
    - Setting Up Remote CVS - -
    -
    -

    Most of the Apache Group members with access to the CVS repository -actually do their work on their local machines and keep synchronised -with the repository through remote CVS. See the ABOUT APACHE -page for information about how the group works and people get access -to the CVS repository.) One way to set this up using the -ssh=20 -(secure shell) tool:

    -
      -
    1. You need an account on the Apache repository - system. =20 - If you've been "voted in" for direct access to the=20 - repository, this should have been set up for you. - (You know if you have it.) -
    2. -
    3. Include the following in your login files on your - local (UNIX) machine: -
      -       setenv CVSROOT repository-system:/home/cvs
      -       setenv CVS_RSH /usr/local/bin/ssh
      -       setenv CVS_SERVER /usr/local/bin/cvs
      -    
      - Adjust the last two paths to correctly reflect the locations of - cvs and ssh on your local system. -
    4. -
    5. Set up the following environment in your account on the Apache - repository system:

      -
      -      setenv CVSROOT /home/cvs
      -      setenv CVS_RSH /usr/local/bin/ssh
      -      setenv CVS_SERVER /usr/local/bin/cvs
      -    
      -

      These are the correct locations for the repository system, - so you don't need to edit them.

      -
    6. -
    7. On your local system generate your SSH public key file=20 - ~/.ssh/identity.pub via ssh-keygen and then = put - it in ~/.ssh/authorized_keys on the repository system. If= you - use the ssh-agent this will allow you to access the repos= itory - without having to enter a password for each CVS operation. Use - ssh-add and enter your passphrase once when you start a - session, and ssh-add -D at the end of the session to - delete your unencrypted key(s) from the agent. -
    8. -
    -
    -
    - -
    - - Working with the Apache Source CVS Repository remotely + Setting Up Remote SVN
    -

    Ralf Engelschall has written an excellent explanation on how to use -remote CVS with the "cvsup" functionality we have available now.

    -

    -http://www.engelschall.com/pw/apache/cvsguide/

    +

    A brief overview of getting started with SVN committer access can be +found +here. One key change to note is that SSH is not used anymore for +committer access, due to the functional differences with SVN.

    Modified: httpd/site/trunk/xdocs/dev/devnotes.xml URL: http://svn.apache.org/viewcvs/httpd/site/trunk/xdocs/dev/devnotes.xml?= rev=3D169386&r1=3D169385&r2=3D169386&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- httpd/site/trunk/xdocs/dev/devnotes.xml (original) +++ httpd/site/trunk/xdocs/dev/devnotes.xml Mon May 9 17:21:02 2005 @@ -13,31 +13,76 @@ =20
    +Overview + +

    The Apache HTTP Server Project has switched to Subversion for hosting i= ts +source code.

    + +

    To check out the 2.0.x branch:

    +
    + +svn co http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x httpd-2.= 0=2Ex + +
    + +

    To check out the 1.3.x branch:

    + +
    + +svn co http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x httpd-1.= 3=2Ex + +
    + +

    To check out the current development version (as of this writing, 2.1.x= ), +use:

    + +
    + +svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-trunk + +
    + +

    Committers should check out via https instead of http (so that they can +commit their changes). For more info about Subversion, please read the ASF version control FAQ.

    + +

    The developers continue to seek to maintain module compatibility between +2.0.42 and future 2.0 releases for administrators and end users, while +continuing the forward progress that has made the 2.0 server faster and mo= re +scalable.

    +
    + +
    Maintaining the Sources =20

    Almost all files relating to Apache, either the actual sources or the -files that aren't part of the distribution, are maintained in a -CVS repository. Here is the way i= n=20 -which changes are applied:

    +files that aren't part of the distribution, are now maintained in an +SVN repository. Here is the= way +in which changes are applied:

    =20
    1. Developer checks out a copy of the files on which it wants to - work, into a private working directory: + work (in this case, the trunk), into a private working directory + called httpd-trunk:

      -
      % cvs checkout apache +
      % svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk + httpd-trunk

      - This step only needs to be performed once. + This step only needs to be performed once (unless the private working + directory is tainted or deleted.) Committers should use a URI prefix + of https on the checkout, to save themselves headaches la= ter.

    2. -
    3. Developer keeps its working directory synchronised with changes +
    4. Developer keeps his/her working directory synchronised with changes made to the repository:

      -
      % cvs update apache +
      % svn up httpd-trunk

      @@ -51,12 +96,13 @@ them:

      -
      % cvs diff -u apache/src/mod_mime.c > /tmp/foo +
      % svn diff httpd-trunk/modules/http/mod_mime.c > /tmp/fo= o

      - The /tmp/foo file is mailed to the developers list so + The /tmp/foo file is mailed to the + developers lis= t so they can consider the value/validity of the patch. It is also worth making sure your code follows the Apache style, as described by the GNU indent flags in the .indent.pro file in every source directory. @@ -66,7 +112,7 @@ Thing, the developer checks the changes into the repository:

      -
      % cvs commit apache/src/mod_mime.c +
      % svn commit httpd-trunk/modules/http/mod_mime.c

      @@ -75,78 +121,65 @@
    =20
    -CVS Modules -

    There are several different modules in the Apache CVS repository:

    - -
    apache-1.3 -

    To create a directory tree containing the 1.3 sources, - and call it apache-1.3, change your current directory - to the parent of the tree and then check the 1.3 sources - out as follows:

    - +SVN Modules +

    There are several different branches under the httpd + module in the Apache SVN repository that pertain to the different + releases. The top level can be perused with the + SVN ViewCVS pages. + The main modules pertaining to the httpd server source + are:

    + +
    httpd-1.3 +

    To create a directory tree containing the 1.3 sources, + and call it apache-1.3, change your current directory + to the parent of the tree and then check the 1.3 sources + out as follows:

    + % cd /usr/local/apache -% cvs checkout apache-1.3 +% svn co http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x apache= -1.3
    =20
    httpd-2.0 -

    To create a directory tree containing the 2.0 sources, - and call it httpd-2.0, change your current directory - to the parent of the tree and then check the 2.0 sources - out as follows:

    - +

    To create a directory tree containing the 2.0 sources, + and call it httpd-2.0, change your current directory + to the parent of the tree and then check the 2.0 sources + out as follows:

    + % cd /usr/local/apache -% cvs checkout -d httpd-2.0 -r APACHE_2_0_BRANCH httpd-2.0 -% cd httpd-2.0/srclib -% cvs checkout -r APR_0_9_BRANCH apr -% cvs checkout -r APU_0_9_BRANCH apr-util -

    The httpd-2.0 repository takes advantage of APR and APR-util from the - Apache portable run-time, so those must be checked out separately. - Because not all httpd contributors have access to APR, you may need to - use anonymous CVS to get those repositories. We are looking in to=20 - solving this problem.

    +% svn co http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x httpd-= 2=2E0
    =20
    httpd-2.1 -

    If you want to check out the bleeding edge of development, the httpd-2.1 - development tree (slated for a release 2.2), use cvs HEAD as follows:

    - +

    If you want to check out the bleeding edge of development, the + httpd-2.1 development tree (slated for a release 2.2), and call it + httpd-trunk, checkout as follows:

    + % cd /usr/local/apache -% cvs checkout -d httpd-2.1 httpd-2.0 -% cd httpd-2.1/srclib -% cvs checkout apr apr-util -
    - -
    site -

    This module contains the files that live at - http://www.apache.org/. The directory on the host that - maps to that URL is actually a set of checked-out working copies of - the CVS files.

    - - It is important that the files on the Web host not be modified - directly. If you want or need to change one, check it out into a - private working copy, modify that, commit the - change into CVS, and then perform a cvs update -dP to - bring the host directory into sync with the CVS sources. - -

    - The Web site directories are not maintained in synch with - the CVS files automatically. They are manually updated from CVS by - various people as they consider appropriate. This is usually not an - issue, unless a group of files are being updated according to an - ongoing group discussion. -

    +% svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-trunk
    =20
    httpd-site -

    Like the site module, this one is used to=20 - maintain the files that comprise a website - in this case, - http://httpd.apache.org/. Also like the previous module, - the directory on the server is a checked-out working copy of this - module.

    +

    This module contains the files that live at http://httpd.apach= e=2Eorg/. + The directory on the host that maps to that URL is actually a set of + checked-out working copies of the SVN files.

    +

    The SVN URI is + https://svn.apache.org/repos/asf/httpd/site/trunk/docs. + + It is important that the files on the Web host not be modified + directly. If you want or need to change one, check it out into a + private working copy, modify that, commit the + change into SVN, and then perform a svn update to + bring the host directory into sync with the SVN sources. + +

    The Web site directories (as opposed to files) are not + maintained in synch with the SVN files automatically. They are + manually updated from SVN by various people as they consider + appropriate. This is usually not an issue, unless a group of files + are being updated according to an ongoing group discussion.

    =20
    httpd-dist -

    Like the site module, this one is used ot +

    Like the httpd-site module, this one is used to maintain the files that comprise a website - in this case, http://www.apache.org/dist/httpd/. Also like the previous module, the directory on the server is a checked-out @@ -154,68 +187,25 @@ directory, we only have the surrounding documentation and control files checked into this module -- the actual tarballs are simply copied to www.apache.org.

    +

    The SVN URI is + https://svn.apache.org/repos/asf/httpd/httpd/dist.

    +

    Committers would generally deal with this module when "rolling" a + release. This is a series of steps that comprise an actual new + release of the Apache httpd software. Amongst other things, the + key to this module is the tools/ directory, which + contains the release.sh shell script. More information + on the policies and procedures relating to rolling releases can be + found on the Release Guidelines page.

    =20
    -Setting Up Remote CVS - -

    Most of the Apache Group members with access to the CVS repository -actually do their work on their local machines and keep synchronised -with the repository through remote CVS. See the ABOUT APACHE -page for information about how the group works and people get access -to the CVS repository.) One way to set this up using the -ssh=20 -(secure shell) tool:

    - -
      -
    1. You need an account on the Apache repository - system. =20 - If you've been "voted in" for direct access to the=20 - repository, this should have been set up for you. - (You know if you have it.) -
    2. -
    3. Include the following in your login files on your - local (UNIX) machine: -
      -       setenv CVSROOT repository-system:/home/cvs
      -       setenv CVS_RSH /usr/local/bin/ssh
      -       setenv CVS_SERVER /usr/local/bin/cvs
      -    
      - Adjust the last two paths to correctly reflect the locations of - cvs and ssh on your local system. -
    4. -
    5. Set up the following environment in your account on the Apache - repository system:

      -
      -      setenv CVSROOT /home/cvs
      -      setenv CVS_RSH /usr/local/bin/ssh
      -      setenv CVS_SERVER /usr/local/bin/cvs
      -    
      -

      These are the correct locations for the repository system, - so you don't need to edit them.

      -
    6. -
    7. On your local system generate your SSH public key file=20 - ~/.ssh/identity.pub via ssh-keygen and then = put - it in ~/.ssh/authorized_keys on the repository system. If= you - use the ssh-agent this will allow you to access the repos= itory - without having to enter a password for each CVS operation. Use - ssh-add and enter your passphrase once when you start a - session, and ssh-add -D at the end of the session to - delete your unencrypted key(s) from the agent. -
    8. -
    -
    - -
    -Working with the Apache Source CVS Repository remotely - -

    Ralf Engelschall has written an excellent explanation on how to use -remote CVS with the "cvsup" functionality we have available now.

    +Setting Up Remote SVN =20 -

    -http://www.engelschall.com/pw/apache/cvsguide/

    +

    A brief overview of getting started with SVN committer access can be +found +here. One key change to note is that SSH is not used anymore for +committer access, due to the functional differences with SVN.

    =20