What is Chora?
==============
-:Contact: chora@lists.horde.org
+:Contact: chora@lists.horde.org
.. contents:: Contents
.. section-numbering::
-Chora is a web interface to viewing files, revisions, diffs, etc. from a CVS
+Chora is a web interface to viewing files, revisions, diffs, etc. from a VCS
repository, written in PHP and utilizing the `Horde Application Framework`_.
This software is OSI Certified Open Source Software. OSI Certified is a
<configtab name="paths" desc="Paths and Locations">
<configsection name="paths">
<configheader>Paths and Locations</configheader>
- <configdescription>Location of RCS and other binaries you must have
- installed as part of CVS, or optional tools for expanding CVS functionality</configdescription>
+ <configdescription>Paths for use with CVS</configdescription>
<configstring name="ci" desc="ci">/usr/bin/ci</configstring>
<configstring name="co" desc="co">/usr/bin/co</configstring>
<configstring name="rcs" desc="rcs">/usr/bin/rcs</configstring>
restricted files will not be displayed in directory
lists.">true</configboolean>
- <configenum name="filename_linkto" desc="When clicking on a file name in the browse view, should we show the revision log, or display the most recent revision? The opposite action will be available when clicking on the revision number.">revlog
+ <configenum name="filename_linkto" desc="When clicking on a file name in the
+ browse view, should we show the revision log, or display the most recent
+ revision? The opposite action will be available when clicking on the
+ revision number.">revlog
<values>
<value desc="Revision Log">revlog</value>
<value desc="Most recent version">checkout</value>
-<p>This is a web interface to the CVS tree. You can browse the file hierarchy
-by picking directories. If you pick a file, you will see the revision history
-for that file. Selecting a revision number will download that revision of the
-file. There is a link at each revision to display diffs between that revision
-and the previous one, and a form at the bottom of the page that allows you to
-display diffs between arbitrary revisions.</p>
+<p>This is a web interface to the project repository. You can browse the file
+hierarchy by picking directories. If you pick a file, you will see the
+revision history for that file. Selecting a revision number will download
+that revision of the file. There is a link at each revision to display diffs
+between that revision and the previous one, and a form at the bottom of the
+page that allows you to display diffs between arbitrary revisions.</p>
/**
* This file contains all the configuration information for the
* various CVS repositories that you wish to display. You should have
- * a minimum of one entry here! The following fields are allowed in
- * the description, and those with a [M] are Mandatory, and should not
- * be left out.
+ * a minimum of one entry here! Each entry requires a unique key name.
*
- * 'name' [M] : Short name for the repository.
+ * The following fields can be defined for each repository.
*
- * 'location' [M] : Location on the filesystem of the repository.
+ * 'name' - (string) [REQUIRED] Short name for the repository.
*
- * 'title' [M] : Long title for the repository.
+ * 'location' - (string) [REQUIRED] Location on the filesystem of the
+ * repository. The value can be any PHP supported wrapper that
+ * can be opened via fopen().
*
- * 'type' [M] : Indicates software used, either 'cvs' or 'svn'.
+ * 'title' - (string) [REQUIRED] Long title for the repository.
*
- * 'default' : To make that repository the default one to show.
+ * 'type' - (string) [REQUIRED] The driver type. Either 'cvs', 'rcs', 'svn',
+ or 'git'.
*
- * 'intro' : File which contains some introductory text to show
- * on the front page of this repository. This file is
- * located in the config/ directory.
+ * 'default' - (boolean) If true, makes repository the default one to show.
*
- * 'cvsusers' : A list of all committers with real names and email
- * addresses, that normally sits in the CVSROOT/cvsusers
- * file. If it is found, then more useful information
- * will be shown.
+ * 'intro' - (string) File which contains some introductory text to show on
+ * the front page of this repository. This file MUST be located
+ * in the config/ directory.
*
- * 'restrictions' : Array of perl-style regular expressions for those files
- * whose contents should be protected and not displayed.
+ * 'cvsusers' - (string) A list of all committers with real names and email
+ * addresses, that normally sits in the CVSROOT/cvsusers file.
+ * If it is found, then more useful information will be shown.
*
- * 'username' : Username to use for the repository (only for Subversion
- * repositories that require authentication).
+ * 'restrictions' - (array) List of perl-style regular expressions for those
+ * files whose contents should be protected and not
+ * displayed.
*
- * 'password' : Password to use for the repository (only for Subversion
- * repositories that require authentication).
+ * 'username' - (string) Username to use for the repository (only for
+ * Subversion repositories that require authentication).
+ *
+ * 'password' - (string) Password to use for the repository (only for
+ * Subversion repositories that require authentication).
*/
$sourceroots['localcvs'] = array(
'name' => 'CVS',
- 'location' => '/home/cvs/root',
+ 'location' => '/path/to/cvs/repo',
'title' => 'CVS Repository',
'cvsusers' => 'CVSROOT/cvsusers',
'type' => 'cvs',
$sourceroots['subversion'] = array(
'name' => 'Subversion',
- 'location' => 'http://svn.collab.net/repos/svn',
+ 'location' => 'http://svn.example.com/repos/svn',
'title' => 'A Compelling Replacement for CVS',
'type' => 'svn'
);
$sourceroots['localsvn'] = array(
'name' => 'MySVNProj',
- 'location' => 'file:///svndata/subvn',
+ 'location' => '/path/to/svn/repo',
'title' => 'Main Subversion Repos',
'type' => 'svn',
);
Initial Subversion support was written by "Jay Freeman (saurik)"
<saurik@saurik.com>.
+Continuing development has mainly been performed by Chuck Hagenbuch and
+Jan Schnieder <jan@horde.org>. Michael Slusarz has chipped in here and there
+and has helped reorganize the code to to allow Git to be added to the list
+of available VCS drivers.
+
Localization
============
Installing Chora
==================
-:Contact: chora@lists.horde.org
+:Contact: chora@lists.horde.org
.. contents:: Contents
.. section-numbering::
have completed all of the steps in the INSTALL_ file for the Horde
Framework before installing Chora.
-2. SVN, CVS or RCS repositories to view.
+2. A VCS repository to view.
- Chora can display any number of local CVS and RCS repositories, as well as
- local and remote SVN repositories. Chora does **not** work on CVS
- **checkouts**. The user under which the web server is running needs read
- access to the repositories.
+ Chora can display any number of local and remote repositories. If accessing
+ a local repository, the user under which the web server is running needs
+ read access to the repositories.
-3. SVN, CVS and RCS binaries.
+ TODO: Documentation on the various drivers
+
+3. VCS binaries.
Depending on which kind of repositories you want to use, you need SVN
- (http://subversion.tigris.org/) and RCS/CVS (http://www.cvshome.org/)
- binaries.
+ (http://subversion.tigris.org/), RCS/CVS (http://www.cvshome.org/), or
+ Git (http://git-scm.com/) binaries.
Installing Chora
if you're having trouble using a provided translation, please see the
`horde/docs/TRANSLATIONS`_ file for instructions.
-4. Testing Chora
+3. Testing Chora
Go to the Chora URL, and test out all the functionality to ensure it is
working.
Chora Development TODO List
=============================
-:Contact: chora@lists.horde.org
+:Contact: chora@lists.horde.org
- Other utility support (lint support for C files, pod2html for perl, PHPDoc
for PHP).