Py@Cron HACKING
------------

Information for potential Py@Cron hackers
(The text of this document has been copied from the HACKING file of the
Gnet library distribution - see http//www.gnetlibrary.org for details)


What to do (in general)
-----------------------

We will always accept bug and portability fixes.  If you are
interested in doing something more major, please write
pyatcron-devel-list@nongnu.org first.  This is so we know what people are
doing and can offer advice.  Also see the TODO file for ideas on the
direction we want to take Py@Cron.  We _strongly_ recommend, if you are
contributing a feature, that you fully implement and test the feature
in your own program before submitting a patch.  This ensures that the
feature is tested the interface is reasonably mature.


Mailing list
------------

pyatcron-devel-list@nongnu.org is the development mailing list.  See the
README for information on how to subscribe.


How to check out Py@Cron anonymously
---------------------------------

  > cd <directory I want Py@Cron to go in>
  > export CVS_RSH="ssh"
  > cvs -z3 -d:ext:anoncvs@savannah.nongnu.org:/cvsroot/pyatcron co pyatcron

Be warned that the repository version of Py@Cron may be instable or may
not even run.


Running Py@Cron from CVS
----------------------

Simply launch the script named pyatcron.py
   > ./pyatcron.py

This is all you have to do to see it running on your computer


How to make code contributions
------------------------------

We only accept code contributions in the form of a unified diff
against the latest released version and, preferably, the version in
CVS. I you have made changes to the API of one or many Py@Cron classes,
you _must_ provide complete documentation of your changes.
            
To make a unified diff, please follow these instructions:
   
1. Rename your development source tree:
    mv pyatcron-0.1.4 pyatcron-0.1.4-snazzy-feature

2. Unpack the original gnet library source alongside it:
    tar zxf pyatcron-0.1.4.tar.gz

3. Generate the diffs:
   diff -urNb pyatcron-0.1.4 pyatcron-0.1.4-snazzy-feature >/tmp/pyatcron.patch

4. Check the patch and remove any unnecessary patches from the file.

5. If you've added several features, it's best to send them as
   several independent patches if you can.

6. List your changes in the src/CHANGES files, in order to quickly know
   what you've done.

7. Don't forget to add your name and email address to AUTHORS so that
   you assert copyright over GNet and help to keep GNet free!


If you have just patched one or two files, then making patches is even
easier. For each file, just do:

  cp file.py file.py.orig
   [Make changes to file.py ...]
  diff -u file.py.orig file.py > /tmp/file.py.patch

and just send us the patch: /tmp/file.py.patch.
