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.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 27 Mar 2018 11:17:59 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 25 Apr 2018 08:38:27 -0000 1.5 @@ -3,21 +3,21 @@ CVS Guidelines -
+ leftLink="style-guide" leftLabel="Prev" + title="Chapter 12. Engineering +Standards" + rightLink="eng-standards-versioning" rightLabel="Next"> +

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, +1.8 2018/03/27 11:18:00 hectorr Exp $)

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

</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 @@ -36,8 +36,7 @@ export CVS_RSH=ssh into ~/.bash_profile.). If your local account name does not match your cvs.openacs.org account -name, create a file ~/.ssh/config with an entry like:

-Host cvs.openacs.org
+name, create a file ~/.ssh/config with an entry like:

Host cvs.openacs.org
     User joel
 

With this setup, you will be asked for your password with each cvs command. To avoid this, set up ssh certificate authentication @@ -61,15 +60,12 @@

Grant cvs access to the user account. On any machine, in a 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 @@ -97,7 +93,7 @@ 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 @@ -106,7 +102,7 @@ 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; @@ -131,7 +127,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 @@ -140,8 +136,7 @@ acs-core contains only critical common packages. It does not have any user applications, such as forums, bug-tracker, calendar, or ecommerce. These can be -added at any time.

The complete list of core packages is:

-acs-admin 
+added at any time.

The complete list of core packages is:

acs-admin 
 acs-api-browser 
 acs-authentication 
 acs-automated-testing 
@@ -157,8 +152,7 @@
 acs-subsite 
 acs-tcl
 acs-templating 
-ref-timezones search
-

+ref-timezones search

dotlrn-all contains the packages required, in combination with acs-core, to run the .LRN system.

@@ -168,7 +162,7 @@ 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 @@ -233,9 +227,8 @@ repository:

  1. Use one of the checkout methods described above to get files to your system. This takes the place of steps 1 and 2 in the section called -“Installation Option 2: Install from -tarball”. Continue setting up the site as described -there.

  2. Fix bugs and add features.

  3. +“Installation Option 2: Install from tarball”. Continue setting +up the site as described there.

  4. Fix bugs and add features.

  5. Commit that file (or files):

    cvs commit -m "what I did and why" filename

    Because this occurs in your personal checkout and not an anonymous one, this commit automagically moves back upstream to the Mother Ship repository at cvs.openacs.org. The names of the changed @@ -266,7 +259,6 @@ Checking in modules;
    /cvsroot/CVSROOT/modules,v  <--  modules
    - new revision: 1.94; previous revision: 1.93
    done
    @@ -275,13 +267,11 @@

    Although you should add your package on HEAD, you should do package development on the latest release branch that your code is compatible with. So, after completing the import, you may want to -branch your package:

    -cd /var/lib/aolserver/service0/packages/newpackage
    +branch your package:

    cd /var/lib/aolserver/service0/packages/newpackage
     cvs tag -b oacs-5-1
     
  6. See the section called -“How to package and release an OpenACS -Package” +“How to package and release an OpenACS Package”

Note

Some packages are already in cvs at openacs-4/contrib/packages. Starting with @@ -291,8 +281,7 @@ /packages. This must be done by an OpenACS administrator. On cvs.openacs.org:

  1. -cp -r /cvsroot/openacs-4/contrib/packages/package0 /cvsroot/openacs-4/packages
    -
  2. Update the modules file as described above.

  3. Remove the directory from cvs in the old location using +cp -r /cvsroot/openacs-4/contrib/packages/package0 /cvsroot/openacs-4/packages

  4. Update the modules file as described above.

  5. Remove the directory from cvs in the old location using cvs rm. One approach for file in `find | grep -v CVS`; do rm $file; cvs remove $file; done @@ -409,7 +398,7 @@

- Informal Guidelines

Informal guidelines which may be obsolete in places and should + Informal Guidelines

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

- + leftLink="style-guide" leftLabel="Prev" leftTitle="OpenACS Style Guide" + rightLink="eng-standards-versioning" rightLabel="Next" rightTitle="Release Version Numbering" + homeLink="index" homeLabel="Home" + upLink="eng-standards" upLabel="Up"> + \ No newline at end of file