head	1.2;
access;
symbols
	HORDE_2_0_RC3:1.2
	HORDE_2_0:1.2
	HORDE_2_0_RC2:1.2
	RELENG_2:1.2.0.2
	HORDE_2_0_0_RC1:1.2;
locks; strict;
comment	@# @;


1.2
date	2001.08.28.13.08.56;	author jon;	state Exp;
branches;
next	1.1;

1.1
date	2001.06.25.20.33.51;	author chuck;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Use the new anonymous CVSROOT.
@
text
@=----------------=
HORDE: CVS
=----------------=
Copyright 1999 Ivan E. Moore II <rkrusty@@tdyc.com>
Copyright 1999 Mike Hardy <mikeh@@spark.com>

This code is licensed under the GNU Public License.
See the file COPYING in the top directory.

Last Updated: 06/23/2001

-------------------------------------------------------------------------

Horde and its modules use CVS for source control. If you're curious, there
are lots of documents available regarding its use and administration. Some
of them may be found at http://www.cyclic.com - they support CVS
commercially, even though it is an open source program.

You will need a CVS client to do any of the following (check out the Cyclic
homepage if you don't have one).

The anonymous CVSROOT is:

    :pserver:cvsread@@anoncvs.horde.org:/repository

===================
Downloading modules
===================

You will want to do this if you want bleeding edge code.

Go to the directory you want to download the code to:

   i.e. 'cd ~/work'

Use the following commands:

   'cvs -d :pserver:cvsread@@anoncvs.horde.org:/repository login'
   'cvs -z3 -d :pserver:cvsread@@anoncvs.horde.org:/repository co horde'

The password, when you are asked for it, is "horde".
Now change directories to horde and download the modules you want.

   `cd horde'
   'cvs -z3 -d :pserver:cvsread@@anoncvs.horde.org:/repository co <MODULE>'

Replace <MODULE> with imp, turba, troll, etc...

To update your tree at any time to match the master tree, switch to the
directory where you have downloaded horde:

   i.e. 'cd ~/work/horde'

and type:

   'cvs -z3 update d'

=-=-=-=-=-=-=-=-=-=-=-=
Obtaining a CVS account
=-=-=-=-=-=-=-=-=-=-=-=

If you're going to be a constant contributor, then you can request a CVS
account. If on the other hand you're only going to be contributing once in a
while, there truly is no need for you to have one, as posting your changes
to the mailing list will get them integrated as easily, if not easier.

If you do get commit access to the CVS tree, you will have the ability to
mess some things up. Not for good, mind you, as CVS is pretty kewl in how it
handles updates, but you still need to remember what you're doing and be
careful what you commit and when you commit it.

Because of this it's recommended (and pretty much an unspoken rule) that you
submit your work to the mailing list for a while so we can tell you know
what you're doing (yes, we're slightly paranoid about this).

Currently CVS accounts are only being provided to key developers. Those
contributing single translations (one language) do not fit into this
category at this time.

The best way to submit a patch is to send it either to the projects list or
to dev@@lists.horde.org (see the LISTS file in this directory).

--------=========--------
Committing changes to CVS
--------=========--------

If you do have a CVS account you will need to do to a few things to work on
the code.

You will need to log into the CVS server so it knows who you are and can
grant you the appropriate rights to work on the sources. The command to do
is:

       'cvs login'

If you want to, you can set an environment variable called EDITOR to point
to your favorite text editor. This way when you commit software changes and
it asks you to enter a change description, you can do so in your favorite
editor (rather than vi, which some love, but which I'm lost in).

Then, for work on developmental, bleeding-edge versions:

  1) Check out the code by typing 'cvs co modulename'
  2) Work on the code <hack, hack, hack>
  3) Commit any changes with 'cvs commit "filenames"' in the directory the
     files are in.

Sometimes, others will make changes and you will need to update your tree so
the changes show up in your local sources. You do this with the 'cvs update'
command in the horde directory.

To work with any labeled version (to patch a stable release, for instance):

  1) Check out the code with 'cvs co -r"label" modulename'
  2) Work on the code <hack, hack, hack>
  3) Commit any changes with 'cvs commit "filenames"' in the directory the
     files are in.

If somebody else also makes changes to the labeled version, you can get them
in your local source tree with a 'cvs update' command issued in the module
directory.

If you are done working with the labeled source branch, and would like to
move back into the main development source tree, you can issue a 'cvs update
-A' command to get all the new developmental stuff back.

If you're feeling adventurous, you can try merging code from the
developmental branch into a labeled branch (to backport a new feature that
has stabilized, for instance) by "joining" the two versions. The command for
this is:

  'cvs update -j"version number with changes" "filename to backport into"'

If you're feeling *very* adventurous, and have talked it over with the list,
you can label the sources at the current stage of development with this
command in the module directory, 'cvs rtag "label" modulename'.

You can also create a labeled branch (to stabilize a release, or do
something *really* experimental) with this command in the module directory:

   'cvs rtag -b "root label to branch at" "branch label" modulename'

These commands encompass all of the source control voodoo you should ever
need to know to work with the project sources. If any of these give you
trouble, mail the CVS list for horde: cvs@@lists.horde.org and ask for help.
If you're willing to code for horde, I'm sure someone will lend a hand.

           - Mike <mikeh@@spark.com>

=-=-=-=-=-=-=-=
Other CVS Notes
=-=-=-=-=-=-=-=

If you do end up getting a CVS account, here are some tips to help keep
things happy:

1) Subscribe to the cvs@@lists.horde.org and dev@@lists.horde.org mailing
lists.

2) Label all uploads with your name or initials. When you commit changes to
CVS it asks you for comments do something like this:

[IEM] Fixed the lines in compose.php3 that annoyed Chuck.

The reason for this is that it tells us quickly who made the change. CVS
will then tell us exactly what was changed, but that requires work.

CVS mails these logs to cvs@@lists.horde.org so with a quick glance at an
email we know who did what.

3) If you're planning on doing anything major, please let people know in
advance. cvs@@lists.horde.org should be an extremely active mailing list.

Developers need to communicate extensively in order to make sure everyone
knows what's going on. This is extremely important when your working on key
components.

4) Use the Bug Tracking System. Currently we are using Bugzilla to keep
track of bugs. All new submissions are being cc'd to the cvs@@lists.horde.org
mailing list so that if we aren't paying attention, we'll at least get mail
about it. Using the Bugs database helps us keep track of issues we are
having and where we stand with the product.

5) Remember to advance the library version whenever anything major is
changed.

This also goes for a ton of minor changes. This way we have some means to
break up releases and also track down problems.


Please send any comments or questions pertaining to this document to
core@@horde.org.
@


1.1
log
@Add re-organized but still mostly out of date HELP/LISTS/SOURCE files.

Submitted by: Josh Miller <joshlists@@nebonet.com>
@
text
@d22 3
a24 1
The CVSROOT is :pserver:username@@cvs.horde.org:/cvs/horde
d38 2
a39 2
   'cvs -d :pserver:cvsread@@cvs.horde.org:/cvs/horde login'
   'cvs -z3 -d :pserver:cvsread@@cvs.horde.org:/cvs/horde co horde'
d45 1
a45 1
   'cvs -z3 -d :pserver:cvsread@@cvs.horde.org:/cvs/horde co <MODULE>'
@

