                                                                -*-text-*-

                      ===========================
                       Hacker's Guide To cvs2svn
                      ===========================

This project tends to use the same social and technical guidelines
(where applicable) as Subversion itself.  You can view them online at
http://subversion.apache.org/docs/community-guide/conventions.html.

* The source code is accessible from two places:

  * The primary repository for cvs2svn is held in Subversion under the
    following URL:

      http://cvs2svn.tigris.org/svn/cvs2svn

    The repository is readable by anybody using username="guest",
    password="" (i.e., just press return).

  * Michael Haggerty maintains a git mirror of the trunk of cvs2svn
    (and perhaps some other branches) at repo.or.cz.  The summary page
    is at

      http://repo.or.cz/w/cvs2svn.git

    and the (read-only) mirror is at

      git://repo.or.cz/cvs2svn.git

* Read the files under doc/, especially:

  * doc/design-notes.txt gives a high-level description of the
    algorithm used by cvs2svn to make sense of the CVS history.

  * doc/symbol-notes.txt describes how CVS symbols are handled.

  * doc/making-releases.txt describes the procedure for making a new
    release of cvs2svn.

* Read the files under www/, especially:

  * www/features.html describes abstractly many of the CVS
    peculiarities that cvs2svn attempts to deal with.

  Please note that changes committed to the trunk version of www/ are
  automatically deployed to the cvs2svn project website.

* Read the class and method docstrings.

* Adhere to the code formatting conventions of the rest of the
  project (e.g., limit line length to 79 characters).

* We no longer require the exhaustive commit messages required by the
  Subversion project.  But please include commit messages that:

  * Describe the *reason* for the change.

  * Attribute changes to their original author using lines like

    Patch by: Joe Schmo <schmo@example.com>

* Please put a new test in run-tests.py when you fix a bug.

* Use 2 spaces between sentences in comments and docstrings.  (This
  helps sentence-motion commands in some editors.)


Happy hacking!

