Index: openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 7 Aug 2017 23:47:49 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 8 Nov 2017 09:42:10 -0000 1.3 @@ -9,16 +9,15 @@ rightLink="eng-standards-versioning" rightLabel="Next">

- CVS Guidelines

-
($‌Id: cvs.xml,v 1.6.14.6 2017/06/17 08:29:28 -gustafn Exp $)

By Joel Aufrecht with input from Jeff Davis, Branimir Dolicki, + CVS Guidelines

<authorblurb>

($‌Id: cvs.xml,v +1.7 2017/08/07 23:47:54 gustafn Exp $)

By Joel Aufrecht with input from Jeff Davis, Branimir Dolicki, and Jade Rubick.

-OpenACS docs are written by the named authors, and may be edited by -OpenACS documentation staff.
+</authorblurb> +

Using CVS with OpenACS

-Getting Started

All OpenACS code is available anonymously. To get code +Getting Started

All OpenACS code is available anonymously. To get code anonymously, use the parameter -d:pserver:anonymous\@cvs.openacs.org:/cvsroot immediately after cvs in a cvs command to check out or export code.

If you are an OpenACS developer, you should check out code so @@ -44,8 +43,8 @@ cvs command. To avoid this, set up ssh certificate authentication for your OpenACS account. (More information)

You may want to set some more default actions for CVS usage. To do so, create the file ~/.cvsrc -with the contents:

cvs -z6
-cvs -q

+with the contents:

cvs -z6
+cvs -q

-z6 speeds up cvs access over the network quite a bit by enabling compressed connection by default. -q suppresses some @@ -54,25 +53,25 @@

Administrator Note: These are the steps to grant CVS commit rights to a user:

  1. -

    Create the user's account. On cvs.openacs.org:

    sudo bash
    -/usr/sbin/useradd -c "Real Name" -G cvs -p passwdusername
    -/usr/sbin/usermod -G cvs,usernameusername
    -
    +

    Create the user's account. On cvs.openacs.org:

    sudo bash
    +/usr/sbin/useradd -c "Real Name" -G cvs -p passwdusername
    +/usr/sbin/usermod -G cvs,usernameusername
    +
  2. Grant cvs access to the user account. On any machine, in a -temporary directory:

    cvs -d :ext:cvs.openacs.org:/cvsroot co CVSROOT
    +temporary directory:

    cvs -d :ext:cvs.openacs.org:/cvsroot co CVSROOT
     cd CVSROOT
    -emacs avail

    Add an avail line of the form:

    -avail|username|openacs-4
    -
    cvs commit -m "added commit on X for username" avail
    +emacs avail

    Add an avail line of the form:

    +avail|username|openacs-4
    +
    cvs commit -m "added commit on X for username" avail

-Checkout for Package Development

If you are actively developing a non-core package, you should +Checkout for Package Development

If you are actively developing a non-core package, you should work from the latest core release branch. Currently this is oacs-5-9. This ensures that you are working on top of a stable OpenACS core, but still allows you to commit feature changes to -non-core packages. To check out all packages,

cvs -d :ext:cvs.openacs.org:/cvsroot co -r oacs-5-9 openacs-4

If you work in the directories created with this command, all of +non-core packages. To check out all packages,

cvs -d :ext:cvs.openacs.org:/cvsroot co -r oacs-5-9 openacs-4

If you work in the directories created with this command, all of your cvs updates and commits will be confined to the oacs-5-9 branch. Your work will be merged back to HEAD for you with each release.

Because the entire openacs-4 directory is large, you may want to use only acs-core plus some specific modules. To do this, check out -core first:

cvs -d:ext:cvs.openacs.org:/cvsroot -r oacs-5-9 checkout acs-core

Then add modules as needed:

cd /var/lib/aolserver/service0/packages
-cvs up -d packagename
-

... where packagename is the name of the package -you want. Visit the Package Inventory -and Package maintainers and status for a list of available +core first:

cvs -d:ext:cvs.openacs.org:/cvsroot -r oacs-5-9 checkout acs-core

Then add modules as needed:

cd /var/lib/aolserver/service0/packages
+cvs up -d packagename
+

... where packagename +is the name of the package you want. Visit the Package +Inventory and Package maintainers and status for a list of available packages and their current state.

-Checkout for Core Development

If you are actively developing packages in the OpenACS Core, +Checkout for Core Development

If you are actively developing packages in the OpenACS Core, work from the HEAD branch. HEAD is used for active development of the next version of core OpenACS. It may be very buggy; it may not even install correctly. Do not use this branch for development of non-core features unless your work depends on some of the HEAD core work. To check out HEAD, omit the -r tag.

To check out HEAD for development, which requires an OpenACS -developer account:

cvs -d:ext:cvs.openacs.org:/cvsroot checkout acs-core

To check out HEAD anonymously:

cvs -d:pserver:anonymous\@cvs.openacs.org:/cvsroot checkout acs-core
+developer account:

cvs -d:ext:cvs.openacs.org:/cvsroot checkout acs-core

To check out HEAD anonymously:

cvs -d:pserver:anonymous\@cvs.openacs.org:/cvsroot checkout acs-core

-Checkout .LRN

.LRN consists of a given version OpenACS core, plus a set of +Checkout .LRN

.LRN consists of a given version OpenACS core, plus a set of packages. These are collectively packages together to form a distribution of .LRN. F .LRN 2.0.0 sits on top of OpenACS 5.0.0. .LRN also uses an OpenACS install.xml file during installation; this file is distributed within the dotlrn package and must be moved. To get a development checkout of .LRN in the subdirectory -dotlrn:

cvs -d :pserver:anonymous\@cvs.openacs.org:/cvsroot checkout -r oacs-5-9 acs-core
+dotlrn:

cvs -d :pserver:anonymous\@cvs.openacs.org:/cvsroot checkout -r oacs-5-9 acs-core
 mv openacs-4 dotlrn
 cd dotlrn/packages
 cvs -d :pserver:anonymous\@cvs.openacs.org:/cvsroot checkout -r oacs-5-9 dotlrn-all
-mv dotlrn/install.xml ..
+mv dotlrn/install.xml ..

Working with CVS

Once you have a checkout you can use some commands to track what @@ -132,7 +131,7 @@

OpenACS CVS Concepts

-Modules

All OpenACS code resides within a single CVS module, +Modules

All OpenACS code resides within a single CVS module, openacs-4. (The openacs-4 directory contains code for all versions of OpenACS 4 and later, and .LRN 1 and later.) Checking out this module retrieves all @@ -169,54 +168,49 @@ module of the same name.

- Tags and Branches

Tags and Branches look similar in commands, but behave + Tags and Branches

Tags and Branches look similar in commands, but behave differently. A tag is a fixed point on a branch. Check out a tag to get a specific version of OpenACS. Check out a branch to get the most current code for that major-minor version (e.g., 5.0.x or 5.1.x). You can only commit to a branch, not a tag, so check out a branch if you will be working on the code.

Informal guidelines which may be obsolete in places and should be reviewed: