About Trac
==========

Trac is a minimalistic web-based software project management and
bug/issue tracking system. It provides an interface to the Git and
Subversion revision control systems, an integrated wiki, flexible
issue tracking and convenient report facilities.

Trac is distributed using the modified BSD License.

 * For installation instructions, please see the INSTALL for a short
   overview and the trac/wiki/default-pages/TracInstall page for
   complete, up-to-date instructions

 * If you are upgrading from a previous Trac version, please read UPGRADE
   for a short overview and the trac/wiki/default-pages/TracUpgrade for
   complete, up-to-date instructions

You might also want to take a look at the RELEASE and ChangeLog files
for more information about this release.

Otherwise, the primary source of information is the main Trac web site:

 <http://trac.edgewall.org/>

We hope you enjoy it,

/The Trac Team

