Anonymous avatar Anonymous committed 53de102 Draft

bringing trac 0.13dev revision 11011 into the main branch

Comments (0)

Files changed (661)

+*~
+.*.sw[op]
+.svn
+.hg
+build
+dist
+Trac.egg-info
+*.pyc
+testenv
+testing.log
+functional-testing.log
+html
+htmlcov
+figleaf
+.coverage
+.figleaf*
+*.figleaf
+Makefile.cfg
+doc/.build
+*.mo
+trac/htdocs/js/messages/*.js
+.project
+.pydevproject
+.settings
+[patterns]
+contrib/trac-svn-hook = LF
+**.cmd = CRLF
+** = native
+syntax: glob
+*~
+.*.sw[op]
+.svn
+.git
+build
+dist
+Trac.egg-info
+*.pyc
+testenv
+testing.log
+functional-testing.log
+html
+htmlcov
+figleaf
+.coverage
+.figleaf*
+*.figleaf
+Makefile.cfg
+doc/.build
+*.mo
+trac/htdocs/js/messages/*.js
+[main]
+host = https://www.transifex.net
+
+[trac.trunk-messages-js-pot]
+file_filter = trac\locale\<lang>\LC_MESSAGES\messages-js.po
+source_file = trac\locale\messages-js.pot
+source_lang = en
+
+[trac.trunk-messages-pot]
+file_filter = trac\locale\<lang>\LC_MESSAGES\messages.po
+source_file = trac\locale\messages.pot
+source_lang = en
+
+[trac.trunk-tracini-pot]
+file_filter = trac\locale\<lang>\LC_MESSAGES\tracini.po
+source_file = trac\locale\tracini.pot
+source_lang = en
+type = PO
+
+ * Jonas Borgström <jonas@edgewall.com>
+ * Daniel Lundin <daniel@edgewall.com>
+ * Rocky Burt <rocky@carterscove.com>
+ * Christopher Lenz <cmlenz@gmx.de>
+ * Francois Harvey <fharvey@securiweb.net>
+ * Mark Rowe <trac@bdash.net.nz> 
+ * Matthew Good <trac@matt-good.net>
+ * Christian Boos <cboos@neuf.fr>
+ * Emmanuel Blot <emmanuel.blot@free.fr>
+ * Alec Thomas <alec@swapoff.org>
+ * Tim Hatch <trac@timhatch.com>
+ * Eli Carter <retracile@gmail.com>
+ * Noah Kantrowitz <kantrn+trac@rpi.edu>
+ * Jeroen Ruigrok van der Werven <asmodai@in-nomine.org>
+ * Odd Simon Simonsen <simon-code@bvnetwork.no>
+ * Remy Blank <remy.blank@pobox.com>
+ * Jun Omae <jun66j5@gmail.com>
+ * Peter Suter <petsuter@gmail.com>
+
+See also THANKS for people who have contributed to the project.
+Copyright (C) 2003-2012 Edgewall Software
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+ 3. The name of the author may not be used to endorse or promote
+    products derived from this software without specific prior
+    written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+Trac 0.12.3 (February 6, 2012)
+http://svn.edgewall.org/repos/trac/tags/trac-0.12.3
+
+Trac 0.12.3 contains a few minor fixes and a few minor features:
+ - added compatibility with Subversion 1.7 (#10414)
+ - make it easier to troubleshoot common startup errors (#10024)
+ - jQuery upgraded to 1.4.4 (#10001)
+ - improved fine-grained permission handling in the source browser 
+   (#9976, #10208, #10110)
+ - ... and dozens more fixes!
+
+Trac 0.12.2 (January 31, 2011)
+http://svn.edgewall.org/repos/trac/tags/trac-0.12.2
+
+This list contains only a few highlights:
+ - install: improved robustness of Trac installation if Babel is
+   installed after the fact (#9439, #9595, #9961)
+ - notifications: support for Asian character width (#4717)
+ - roadmap: fix display of progress bar in some corner cases (#9718)
+   and respect the overall_completion milestone group setting (#9721)
+ - reports: reports and queries look much better, as the columns now
+   keep the same width across groups; the absence of word wrapping in
+   reports has been fixed (#9825)
+ - web admin: improved layout (#8866, #9963)
+ - web: it's now possible to log in different Trac instances sharing
+   the same URL prefix (e.g. /project and /project-test) (#9951)
+
+Trac 0.12.1 (October 9, 2010)
+http://svn.edgewall.org/repos/trac/tags/trac-0.12.1
+
+This list contains only a few highlights:
+ - db: improve concurrency behavior (#9111)
+ - fcgi: add an environment variable `TRAC_USE_FLUP` to control the usage of flup vs. bundled _fcgi.py (defaults to 0, i.e. use bundled as before)
+ - svn authz: improve compatibility with svn 1.5 format (#8289)
+ - milestone: allow to set the time for the due date (#6369, #9582)
+ - ticket: fixes for the CC: property (#8597, #9522)
+ - notification: improved the formatting of ticket fields in notification e-mails (#9484, #9494) 
+ - i18n: added a configuration option to set the default language (#8117)
+ - several fixes for upgrade (#9400, #9416, #9483, #9556)
+
+Trac 0.12 'Babel' (June 13, 2010)
+http://svn.edgewall.org/repos/trac/tags/trac-0.12
+
+Trac 0.12 is a major release introducing i18n and multiple repository support as the most visible changes.
+
+The following list contains only a few highlights:
+ - The user interface is translated in a dozen of languages, provided the
+   [Babel:] package is installed
+ - Multiple repositories can be associated to a single Trac environment; the
+   repositories can be of heterogeneous types (svn, hg, git, darcs...)
+ - Usability improvements for the Wiki, with a nice side-by-side edit mode with
+   automatic preview
+ - Richer Wiki syntax, with much improved support for tables, partial
+   WikiCreole compatibility and numerous smaller improvements
+ - Usability improvements for the Ticket module, with automatic preview of
+   comments while you type and possibility to edit or remove them later
+ - Improved Custom Queries (time fields, multiple disjoint conditions,
+   a.k.a. OR queries)
+ - Timeline filtering by user
+ - ... and numerous smaller features added and bugs fixed since 0.11!
+
+Trac 0.12rc1 'Babel' (June 03, 2010)
+http://svn.edgewall.org/repos/trac/tags/trac-0.12rc1
+
+  See 0.12.
+
+Trac 0.11.7 (March 10, 2010)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.7
+
+ Trac 0.11.7 is nearly identical to 0.11.7rc1 except for a few more fixes:
+  - avoid an infinite loop when using an AtomicFile in a read-only 
+    directory (#9081) 
+  - don't report client disconnects during writes as internal errors (#9103)
+  - don't reuse a closed cursor, which could happen in one specific case
+    for the pysqlite backend (#9104)
+
+Trac 0.11.7rc1 (February 23, 2010)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.7rc1
+
+Security fixes:
+ - Fixed a ticket validation issue that would allow unauthorized users to modify the status and resolution of a ticket (#8884)
+
+Performance improvements:
+ - Trac wiki had some trouble handling very long unicode words (#9025) [[comment(intentionally kept vague, we don't want to advertize a DOS, do we?)]]
+ - Full text search was very slow if lots of custom fields were used (#8935)
+
+Bug fixes:
+ - Fixed a race condition that could lead to the destruction of the trac.ini file (#8623)
+ - Fixed creation of new milestone which could have been a rename if performed after a name clash has been detected (#8816)
+ - Fixed display of value 0 in report cells (#7512)
+
+Trac 0.11.6 (November 28, 2009)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.6
+
+ Trac 0.11.6 contains two security fixes and a number of bug fixes,
+ performance improvements and minor enhancements. The following list
+ contains only a few highlights:
+
+Security fixes:
+ * Fixed the policy checks in report results when using alternate formats.
+ * Added a check for the "raw" role that is missing in docutils < 0.6.
+
+Performance improvements:
+ * Re-enabled connection pooling with SQLite (#3446).
+ * Added caching of configuration options (#8510).
+
+Bug fixes:
+ * Fixed the "database is locked" issue with SQLite (#3446, #8468).
+ * Deprecated SQLite 2.x support (#8625).
+ * Fixed hanlding of times in timezones with DST (#8240).
+ * Avoid corruption of trac.ini during write (#8623).
+ * Improved support for revision ranges in revision log view (#8349)
+
+Trac 0.11.5 (July 17, 2009)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.5
+
+ Trac 0.11.5 is identical to 0.11.5rc2 except for fixing a minor
+ incompatibility issue when using IIS via AJP as frontend (#8475).
+
+Trac 0.11.5rc2 (July 11, 2009)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.5rc2
+
+ Trac 0.11.5rc2 fixes two regressions found in rc1 and one minor enhancement:
+
+ * Fixed workaround for zipped Genshi eggs, [8354], #7823
+ * Fixed internal error when removing a wiki page version [8343].
+ * Fixed display of merge properties for scoped repositories #7715.
+
+Trac 0.11.5rc1 (June 30, 2009)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.5rc1
+
+ Trac 0.11.5rc1 contains a number of bug fixes and minor enhancements.
+ The following list contains only a few highlights:
+
+Bug fixes:
+ * Implemented pre-upgrade backup support for PostgreSQL and MySQL (#2304)
+ * Fixed PostgreSQL upgrade issue (#8378)
+ * More robust diff parsing (#2672)
+ * Avoid intermittent hangs by not calling apr_terminate explicitly (#7785)
+
+Trac 0.11.4 (March 30, 2009)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.4
+
+ Trac 0.11.4 is identical to the second release candidate.
+
+ Trac 0.11.4 contains a number of bug fixes and minor enhancements.
+ The following list contains only a few highlights:
+
+ * Custom mainnav links regression (#8153)
+ * Fixed Python 2.3 incompatibility (#8061)
+ * Fixed Python 2.6 notification issue (#8083)
+ * Fixed PostgreSQL multi column index issue (#7600)
+
+Trac 0.11.4rc2 (March 25, 2009)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.4rc2
+
+ * Custom mainnav links regression (#8153)
+
+Trac 0.11.4rc1 (March 18, 2009)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.4rc1
+
+ Trac 0.11.4rc1 contains a number of bug fixes and minor enhancements.
+ The following list contains only a few highlights:
+
+Bug fixes:
+ * Fixed Python 2.3 incompatibility (#8061)
+ * Fixed Python 2.6 notification issue (#8083)
+ * Fixed PostgreSQL multi column index issue (#7600)
+
+Trac 0.11.3 (February 15, 2009)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.3
+
+ Trac 0.11.3 contains a number of bug fixes and minor enhancements.
+ The following list contains only a few highlights:
+
+Bug fixes:
+
+ * Compatibility with Python 2.6 (#7876, #7458)
+ * PostgreSQL db backend improvement (#4987, #7600)
+ * Highlighting of search results is more robust (#7324, #7830)
+ * Unicode related fixes (#7672, #7959, #7845, #7935, #8024)
+ * Fixed Trac link rendering in ReST (#7712)
+
+Minor improvements:
+
+ * Custom fields can now contain wiki text (#1791)
+ * A few usability and documentation improvements (#8000, #8004, #8016)
+
+Trac 0.11.2.1 (November 17, 2008)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.2.1
+
+ Trac 0.11.2.1 fixes a Python 2.3 incompatibility introduced in Trac 0.11.2.
+ Python 2.4+ users already running Trac 0.11.2 do not need to upgrade.
+  
+Trac 0.11.2 (November 8, 2008)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.2
+
+ Trac 0.11.2 contains two security fixes and a couple of bug fixes.
+ The following list contains only a few highlights:
+
+Bug fixes:
+
+ * Fixes potential DOS vulnerability with certain wiki markup. Reported by
+   Matt Murphy.
+ * Improved HTML sanitizer filter to detect possible phishing attempts.
+   Reported by Simon Willison.
+ * MySQL db backend improvement (reconnect after idle timeout #4465)
+ * TicketQuery speed improvements (#6436)
+ * Fixes for RSS feeds (timeline entries no longer truncated #7316, no longer
+   download some feeds under Firefox #3899)
+ * Search now works for custom fields (#2530)
+ * Same order for ticket fields for new and existing tickets (#7018)
+ * Enforce fine-grained permission for "quickjump" search results (#7655)
+ * E-mail obfuscation was not done in a few remaining places (#7688, #6532)
+ * Uninstall of plugins from WebAdmin was not working - feature disabled 
+   for now
+ * More robust pagination of results for reports and custom queries (#7424,
+   #7544)
+ * Support for newer version of pygments (#7622)
+ * Documentation updated (#7603, #7205, #7318)
+
+Minor improvements:
+
+ * Better support for Wiki page hierarchy (show path #2780, link to 
+   parent #2150)
+ * Custom query allow to search in description and other text fields (#4824)
+
+Trac 0.11.1 (August 6, 2008)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11.1
+
+ Trac 0.11.1 contains a number of bug fixes and minor enhancements.
+ The following list contains only a few highlights:
+
+ * Improved DB connection handling (new connection pool)
+ * Better MySQL backend unicode support. "utf8" and "utf8_bin" is the
+   recommended database charset and collation settings.
+ * Fixes intermittent "constraint violation" and "invalid form token"
+   error messages.
+ * Fixes roadmap layout glitch in Firefox 3.
+ * Safer default umask value for tracd (can be set using --umask option)
+ * Better default PYTHON_EGG_CACHE value.
+
+ The complete list of closed tickets can be found here:
+   http://trac.edgewall.org/query?status=closed&milestone=0.11.1
+
+Trac 0.11 'Genshi' (June 22, 2008)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11
+
+ Trac 0.11 contains a great number of new features, improvements and
+ bug fixes. The following list contains only a few highlights:
+
+ * New template engine for generating content (Genshi)
+ * New configurable workflow in the ticket subsystem
+ * Finer-grained control of permissions
+ * Support for Pygments as the default syntax highlighter
+ * Improved repository browser ("blame" support, dynamic in-place
+   expansion of folders)
+ * Improved user preferences subsystem, among which the possibility for
+ * any user to select their time zone and disable access keys
+ * The WebAdmin plugin is now an integral part of Trac
+ * Paging of timeline and query results.
+
+ A more complete list of new features can be found in the RELEASE file.
+ The complete list of closed tickets can be found here:
+   http://trac.edgewall.org/query?status=closed&milestone=0.11
+
+Trac 0.11rc2 'Genshi' (June 9, 2008)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11rc2
+
+  See 0.11
+
+Trac 0.11rc1 'Genshi' (April 30, 2008)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11rc1
+
+  See 0.11rc2
+
+Trac 0.11b2 'Genshi' (March 12, 2008)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11b2
+
+  See 0.11rc1
+
+Trac 0.11b1 'Genshi' (December 18, 2007)
+http://svn.edgewall.org/repos/trac/tags/trac-0.11b1
+
+ See 0.11b2.
+
+Trac 0.10.5 (Jun 23, 2008)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10.5
+
+ Trac 0.10.5 contains two security fixes and a couple of bug fixes.
+ The following list contains only a few highlights:
+ 
+ * Fixes a cross-site redirection vulnerability in the quickjump function
+   reported by Russ McRee.
+ * Fixes a wiki engine XSS vulnerability found by Nathan Collins.
+ * Added PostgreSQL 8.3 support.
+ * Fixes FineGrainedPermissions for scoped repositories.
+ * Fixes problem with repository syncing raising exceptions.
+
+ The complete list of closed tickets can be found here:
+   http://trac.edgewall.org/query?status=closed&milestone=0.10.5
+
+Trac 0.10.4 (April 20, 2007)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10.4
+
+ Trac 0.10.4 is a bug fix release. The following list contains only a 
+ few highlights:
+
+ * Repository cache improvements. The new syncing scheme is incompatible with
+   the previous one and requires a database schema upgrade in order to prevent
+   the old and the new codebase to be mixed. A repository resync is not needed,
+   though. The 0.10.4 scheme is compatible with the 0.11 one.
+   (#3837, #4043 and #4586)
+ * Fix a possible freeze under heavy load (#4465)
+
+ The complete list of closed tickets can be found here:
+   http://trac.edgewall.org/query?status=closed&milestone=0.10.4
+
+Trac 0.10.3.1 (Mar 8, 2007)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10.3.1
+
+ Trac 0.10.3.1 is a security fix release.
+	
+ * Always send "Content-Disposition: attachment" headers where potentially 
+   unsafe (user provided) content is available for download. This behaviour
+   can be altered using the "render_unsafe_content" option in the 
+   "attachment" and "browser" sections of trac.ini.
+ * Fixed XSS vulnerability in "download wiki page as text" in combination with 
+   Microsoft IE. Reported by Yoshinori Oota, Business Architects Inc.
+
+Trac 0.10.3 (Dec 12, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10.3
+
+ Trac 0.10.3 is a bug fix release. The following list contains only a 
+ few highlights:
+
+ * Timeline fail to load with a "!NoSuchChangeset" error message (#4132).
+ * Timed out MySQL connections not handled properly (#3645).
+ * Subversion repository resync broken. (#4204).
+
+ The complete list of closed tickets can be found here:
+   http://trac.edgewall.org/query?status=closed&milestone=0.10.3
+
+Trac 0.10.3rc1 (Dec 7, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10.3rc1
+
+ See 0.10.3
+
+Trac 0.10.2 (Nov 13, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10.2
+
+ Trac 0.10.2 is a bug fix release. The following list contains only a 
+ few highlights:
+
+ * Fixes deadlock when using authz_file config option (#3996).
+ * Makes the CSRF code play nice with the XmlRpcPlugin (#4122).
+ * Fixes Timeline breakage after svn commit when using sqlite (#4120).
+
+ The complete list of closed tickets can be found here:
+   http://trac.edgewall.org/query?status=closed&milestone=0.10.2
+
+Trac 0.10.1 (Nov 8, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10.1
+
+ Trac 0.10.1 contains a security fix and a number of bug fixes.
+ The following list contains only a few highlights:
+
+ * Fixed CSRF vulnerability (#4049), reported by Daniel Kahn Gillmor.
+ * Improved DB connection handling (#3503)
+ * Tracd no longer tries to resolve client's IP address (#3481).
+
+ The complete list of closed tickets can be found here:
+   http://trac.edgewall.org/query?status=closed&milestone=0.10.1
+
+Trac 0.10 'Zengia' (Sep 28, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10
+
+ Trac 0.10 contains a great number of new features, improvements and
+ bug fixes. The following list contains only a few highlights:
+
+ * Support for spam protection.
+ * Advanced diff support.
+ * InterWiki and InterTrac support.
+ * Improved notification system.
+ * WSGI Used as web server protocol.
+
+ A more complete list of new features can be found in the RELEASE file.
+ The complete list of closed tickets can be found here:
+   http://trac.edgewall.org/query?status=closed&milestone=0.10
+
+Trac 0.10-rc1  (Sep 22, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10rc1
+
+ See 0.10
+
+Trac 0.10-beta1  (Aug 28, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10b1
+
+ See 0.10
+
+----
+
+Trac 0.9.6  (Jul 6, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.9.6
+
+ * Fixed reStructuredText breach of privacy and denial of service vulnerability
+   found by Felix Wiemann.
+ * trac-post-commit-hook fixes.
+ * Fixed bugs: #2894, #3058, #3209 #3325.
+
+Trac 0.9.5  (Apr 18, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.9.5
+
+ * Fixed wiki macro XSS vulnerability found by Mr. Kazuhiro Nishiyama:
+   http://jvn.jp/jp/JVN%2384091359/index.html
+ * Smaller memory usage when accessing subversion history.
+ * Fixed issue with incorrectly generated urls when installed behind a web 
+   proxy (#2531).
+ * Fixed bugs: #2531, #2777, #3020.
+
+Trac 0.9.4  (Feb 15, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.9.4
+
+ * Deletion of reports has been fixed.
+ * Various encoding issues with the timeline RSS feed have been fixed.
+ * Fixed a memory leak when syncing with the repository.
+ * Milestones in the roadmap are now ordered more intelligently.
+ * Fixed bugs: #1064, #1150, #2006, #2253, #2324, #2330, #2408, #2430,
+   #2431, #2459, #2544, #2459, #2481, #2485, #2536, #2544, #2553,
+   #2580, #2583, #2606, #2613, #2621, #2664, #2666, #2680, #2706,
+   #2707, #2735
+
+Trac 0.9.3  (Jan 8, 2006)
+http://svn.edgewall.org/repos/trac/tags/trac-0.9.3
+
+ * Fixed XSS vulnerabilities.
+ * Timeline RSS feed validity issue resolved.
+ * "trac-admin initenv" now handles empty repositories.
+ * Textile unicode support.
+ * Fixed bugs: #1158, #2290, #2337, #2416, #2440, #2468, #2473, #2484,
+   #2490, #2493, #2512, #2517, #2519, #2527, #2548, #2558, #2558
+
+Trac 0.9.2  (Dec 5, 2005)
+http://svn.edgewall.org/repos/trac/tags/trac-0.9.2
+
+ * Fixed SQL injection vulnerability in ticket search module.
+ * Fixed broken ticket email notifications.
+
+Trac 0.9.1  (Dec 1, 2005)
+http://svn.edgewall.org/repos/trac/tags/trac-0.9.1
+
+ * Fixed SQL injection vulnerability in ticket query module.
+ * Fixed bugs: #1633, #2167, #2283, #2284, #2285, #2291, #2292, #2300,
+   #2318, #2329, #2366, #2369, #2373, #2383, #2416, #2457
+
+
+Trac 0.9 'Vodun' (Oct 31, 2005)
+http://svn.edgewall.org/repos/trac/tags/trac-0.9
+
+ * Support for a global trac.ini configuration file.
+ * Changed logic for enabling plugins/components.
+ * Improved support for handling repository subsets.
+ * Fixes problems with Trac links when using multiple environments in the
+   same Python interpreter.
+ * Improvements to email notification layout and encoding.
+ * Fixes for database locking with SQLite, in particular in a multi-threaded
+   environment.
+ * PostgreSQL compatibility fixes.
+ * Fixed bugs: #804, #861, #927, #1044, #1051, #1123, #1153, #1169,
+   #1239, #1344, #1463, #1562, #1881, #1886, #1895, #1909, #1921, #1930,
+   #1983, #1988, #2019, #2051, #2061, #2229, #2106, #2107, #2116, #2120,
+   #2124, #2129, #2135, #2136, #2138, #2140, #2144, #2164, #2166, #2170,
+   #2172, #2191, #2192, #2196, #2201, #2202, #2203, #2208, #2215, #2218,
+   #2223, #2230, #2232, #2239, #2240, #2241, #2243, #2251, 
+
+
+Trac 0.9-beta2  (Sept 25, 2005)
+http://svn.edgewall.org/repos/trac/tags/trac-0.9b2
+
+ * Support for setuptools 0.6.
+ * Allow insertion of a custom HTML snippet above the new ticket form
+   to explain site-specific policies and/or guidelines.
+ * Much improved Bugzilla import script.
+ * Fixed a bug where deleting a wiki page version would sometimes delete
+   the entire page.
+ * Fixes for the rendering of diffs and patches.
+ * Fixes for the Subversion authz support.
+ * Fixed bugs: #2008, #2032, #2034, #1801, #1893, #1040, #2040,
+   #1036, #1944, #1081, #1863, #2052, #2066, #2016, #2090, #1985,
+   #2012, #2089, #2079, #1999, #2029, #2079, #1960, #2080, #2021,
+   #2042, #2088, #1345, #2011, #2100, #2103, #2113, #2116, #2109
+
+
+Trac 0.9-beta1  (Sept 5, 2005)
+http://svn.edgewall.org/repos/trac/tags/trac-0.9b1
+
+ Trac 0.9 contains a great number of new features, improvements and
+ bug fixes. The following list contains only a few highlights:
+
+ * License changed from GPL to modified BSD (See the file COPYING).
+ * Improved modularity and extendibility (plugin support).
+ * Support for both pysqlite 1.x and pysqlite 2.x.
+ * Postgresql database support (with psycopg or pyPgSQL).
+ * Repository subsets. Multiple Trac environments can share a single 
+   repository.
+ * Version control abstraction layer making it possible to support 
+   other version control systems besides subversion in the future.
+ * FastCGI frontend support.
+ * Python version >= 2.3 is now required.
+
+ The complete list of closed tickets can be found here:
+   http://trac.edgewall.org/query?status=closed&milestone=0.9
+
+----
+
+Trac 0.8.3  (Jun 15, 2005)
+http://svn.edgewall.org/repos/trac/tags/trac-0.8.3
+
+ * Fix compatibility of 'trac-admin resync' with Subversion >= 1.2.
+ * Settings page now works correctly when Trac is deployed at the
+   root of a host.
+ * Windows packaging issues resolved.
+ * Fixed bugs: #1282, #1500, #1648
+
+
+Trac 0.8.2  (Jun 1, 2005)
+http://svn.edgewall.org/repos/trac/tags/trac-0.8.2
+
+ * Compatibility with Subversion >= 1.2 fixed.
+ * Compatibility with Docutils >= 0.3.7 fixed.
+ * Fixed bugs: #1020, #1302, #1500, #1182, #1339, #1518
+   #1525, #1618
+
+
+Trac 0.8.1  (Feb 28, 2005)
+http://svn.edgewall.org/repos/trac/tags/trac-0.8.1
+
+ * Improved Python 2.1 compatibility.
+ * Layout of navigation bar in Opera fixed.
+ * Execution of Javascript through event handler attributes
+   in HTML code is now forbidden.
+ * Fixed bugs: #157, #371, #556, #683, #970, #971, #972,
+   #974, #979, #983, #1001, #1003, #1007, #1008, #1011,
+   #1020, #1026, #1030, #1045, #1054, #1070, #1072, #1074,
+   #1076, #1087, #1090, #1103, #1108, #1111, #1136, #1159,
+   #1164, #1190, #1195, #1220
+
+
+Trac 0.8 'Qualia'  (Nov 15, 2004)
+http://svn.edgewall.org/repos/trac/tags/trac-0.8
+
+ * Roadmap module.
+ * Support for custom ticket properties.
+ * Wiki administration features.
+ * Advanced ticket queries.
+ * Improved diff display.
+ * User preferences.
+ * Wiki editing (near-wysiwyg) aids a la wikipedia.
+ * Improved email notification.
+ * Fixed bugs: #13, #63, #99, #100, #158, #164, #203, #210, 
+   #225, #264, #304, #306, #326, #346, #347, #351, 
+   #352, #364, #373, #375, #405, #411, #416, #431, 
+   #433, #434, #436, #438, #443, #445, #446, #447, 
+   #450, #452, #453, #455, #458, #460, #465, #468, 
+   #471, #472, #473, #474, #477, #478, #479, #480, 
+   #482, #483, #486, #487, #489, #491, #492, #494, 
+   #496, #501, #503, #506, #510, #512, #513, #514, 
+   #516, #522, #524, #526, #527, #528, #530, #532, 
+   #536, #537, #538, #539, #542, #543, #545, #546, 
+   #550, #551, #552, #553, #555, #556, #557, #558, 
+   #559, #560, #565, #567, #568, #570, #572, #574, 
+   #577, #578, #580, #581, #583, #587, #589, #591, 
+   #593, #594, #597, #598, #599, #600, #601, #602, 
+   #606, #609, #610, #612, #613, #616, #618, #619, 
+   #620, #622, #623, #626, #627, #628, #630, #631, 
+   #634, #644, #647, #648, #651, #652, #657, #658, 
+   #660, #664, #668, #669, #670, #671, #674, #675, 
+   #676, #677, #678, #680, #690, #692, #696, #698, 
+   #699, #703, #705, #706, #708, #709, #713, #714, 
+   #715, #716, #718, #720, #721, #722, #726, #727, 
+   #730, #732, #734, #735, #736, #737, #738, #741, 
+   #742, #743, #744, #745, #748, #749, #750, #751, 
+   #752, #759, #762, #764, #768, #769, #770, #771, 
+   #774, #775, #776, #778, #779, #780, #785, #789, 
+   #793, #798, #800, #806, #807, #815, #816, #817, 
+   #818, #829, #830, #831, #833, #836, #844, #846, 
+   #848, #850, #851, #852, #872, #873, #877, #878, 
+   #885, #888, #889, #892, #901, #903, #907, #912, 
+   #916, #923, #929, #931, #932, #935
+
+----
+
+Trac 0.7.1 'Argento'  (Jun, 2004)
+http://svn.edgewall.org/repos/trac/tags/trac-0.7.1
+
+ * Bugfixes for 0.7
+ * Fixes security hole in auth.py
+ * Experimental support for mod_python
+ * Improved MIME-types
+ * Fixed bugs: #93, #202, #307, #312, #342, #345, #350, #353, #355, #391,
+   #393, #401, #404, #406, #415, #417, #419, #420, #421, #422, #424,
+   #425, #428, #429, #432, #435, #437, #441, #442, #448, #451, #452,
+   #456, #457, #461, #463, #466, #467, #470, #497, #498, #502, #504
+
+
+Trac 0.7 'Fulci'  (May 18, 2004)
+http://svn.edgewall.org/repos/trac/tags/trac-0.7
+
+ * Revised database format (requires manual upgrade).
+ * Trac standalone daemon, tracd (Experimental).
+ * Greatly improved browser.
+ * Many usability improvements.
+ * Clean-up of CSS and templates.
+ * UTF-8 character encoding support.
+ * Wiki page attachments.
+ * Syntax coloring supporting >35 languages, using SilverCity or GNU Enscript.
+ * Better support for ReStructuredText.
+ * Logging support, including syslog and windows eventlog.
+ * Ticket attachments.
+ * Import tickets from Bugzilla (contributed by Mark Rowe).
+ * Import tickets from SourceForge (contributed by Dmitry Yusupov).
+ * New ticket field: keywords
+ * Ticket email notification.
+ * Localized date and time display.
+ * Viewable SQL for reports.
+ * Improved search facilities.
+ * Windows installer package.
+ * More documentation.
+ * Fixed bugs: #14, #19, #27, #62, #87, #96, #106, #111, #115, #127, #146,
+   #161, #166, #171, #180, #182, #183, #188, #190, #191, #192, #193,
+   #195, #196, #197, #201, #205, #207, #211, #212, #213, #220, #224,
+   #227, #228, #231, #233, #235, #236, #240, #241, #243, #244, #246,
+   #247, #248, #249, #251, #252, #253, #254, #255, #258, #259, #261,
+   #262, #263, #265, #270, #271, #273, #275, #277, #278, #281, #284,
+   #285,  #88, #289, #292, #293, #294, #296, #300, #302, #310, #313,
+   #314, #315, #316, #320, #322, #328, #332, #333, #337, #338, #339,
+   #340, #341, #344, #348, #349, #358, #361, #362, #363, #368, #370,
+   #371, #372, #376, #377, #378, #381, #384, #385, #386, #387, #388,
+   #392, #394, #396, #397, #398, #399, #402, #403, #410
+
+----
+
+Trac 0.6.1 '245 Trioxin' (April 12, 2004)
+http://svn.edgewall.org/repos/trac/tags/trac-0.6.1
+
+ * RSS now escapes entities in summary.
+ * Search results won't highlight dates anymore.
+ * RPM for SuSE Linux.
+ * Preliminary Windows Installer.
+ * More documentation.
+ * Fixed bugs: #163, #165, #189, #198, #200, #206, #209, #214, #223
+
+
+Trac 0.6 'Solanum' (March 23, 2004)
+http://svn.edgewall.org/repos/trac/tags/trac-0.6
+
+ * View diffs between wiki page edits.
+ * Improved Search module.
+ * Support for tables in the wiki. (Thanks to Stephen Hansen)
+ * Colored reports. Use colors to show priority, etc. 
+ * Support for custom wiki processor macros.
+ * ReStructuredText markup support (through a processor macro)
+ * HTML markup support (through a processor macro)
+ * Report groups. Group results by a column.
+ * Multi-line report rows.
+ * Download report in CSV (Comma Separated Value) and tab-separated format
+ * RSS 2.0 content syndication support in Timeline, Reports and Log/Browser
+ * Better, locale-based date and time formatting. 
+ * Wiki RecentChanges support.
+ * Overall usability, consistency and cosmetic improvements.
+ * More documentation.
+ * Fixed bugs: #16, #68, #81, #88, #98, #101, #102, #103, #104, #105,
+   #110, #112, #113, #114, #117, #119, #120, #131, #132, #134,
+   #135, #136, #138, #142, #145, #147, #151, #155, #170, #173,
+   #174, #175, #177, #179
+
+----
+
+Trac 0.5.2 'Nameless' (March 2, 2004)
+http://svn.edgewall.org/repos/trac/tags/trac-0.5.2
+
+ * Performance improvements.
+ * Better unicode support in commit-messages.
+ * TRAC_ADMIN is now a real "meta-permission" containing all other permissions.
+ * Wiki-links of the svn:/path format can now also link to directories.
+ * Handle subversion changesets without any "author" specified.
+ * "view" checkboxes in the timeline view now reflect the current state.
+ * The subversion repository is now indexed by "svnadmin initdb" instead of
+   trac.cgi at first execution.
+ * trac-admin now has a 'wiki dump' and 'wiki load' commands to
+    export/import all pages to/from a directory.
+ * Most of the inline css is removed.
+ * IE6 navbar problem fixed.
+ * Fixed bugs: #69, #73, #77, #78, #79, #80, #84, #85, #86, #89, #90, 
+   #91, #93, #97
+
+
+Trac 0.5.1 'Unnamed' (February 25, 2004)
+http://svn.edgewall.org/repos/trac/tags/trac-0.5.1
+
+ * Navbar now works properly on error pages.
+ * Cleaned up source code. Removed ugly tabs.
+ * Added missing COPYING, AUTHORS etc. Cleaned up package.
+ * trac-admin now works with python 2.1.
+ * Fixed bugs: #74, #75, #76, #77
+
+
+Trac 0.5 'Incognito' (February 23, 2004)
+http://svn.edgewall.org/repos/trac/tags/trac-0.5
+
+ * First release.
+Trac Installation Guide
+=======================
+
+Trac is a lightweight project management tool that is implemented as a
+web-based application. Trac is written in the Python programming
+language and can use SQLite, PostgreSQL or MySQL as database. For HTML
+rendering, Trac uses the Genshi templating system.
+
+Note that you should also read the
+**trac/wiki/default-pages/TracInstall** documentation file present in
+the source distribution.  If you're upgrading an already installed
+environment, please also read trac/wiki/default-pages/TracUpgrade.
+
+
+Requirements
+------------
+
+To install Trac, the following software packages must be installed:
+
+ * Python, version >= 2.5.
+ * setuptools, version >= 0.6
+ * Genshi, version >= 0.6
+ * Optionally, Subversion, version >= 1.1.x and the Subversion SWIG
+   Python bindings (not PySVN, that's something different).
+ * One of the following Python bindings, depending on the database used:
+    * pysqlite version 2.x for SQLite 3.x
+    * psycopg2 version 2.0.x for the PostgreSQL database
+    * MySQLdb, version 1.2.2 for the MySQL database
+ * A web server capable of executing CGI/FastCGI scripts, or Apache
+   HTTPD with mod_python or mod_wsgi. (Trac also comes with a
+   standalone server, tracd)
+
+Any of the above python library can usually be installed using
+easy_install, which itself can be installed using the following
+bootstrap script::
+
+  $ wget http://peak.telecommunity.com/dist/ez_setup.py
+
+  $ python ez_setup.py
+
+After that, you can do for example: easy_install Genshi
+
+Your version of Python comes with its own version of pysqlite, however
+if want to use the latest pysqlite package, you can download from
+http://code.google.com/p/pysqlite/downloads/list the Windows
+installers or the tar.gz archive for building from source::
+
+  $ tar xvfz <version>.tar.gz
+
+  $ cd <version>
+
+  $ python setup.py build_static install
+
+That way, the latest SQLite version will be downloaded and built into the
+bindings.
+
+
+Installing Trac
+---------------
+
+The command::
+
+  $ python ./setup.py install
+
+will byte-compile the python source code and install it in the
+site-packages directory of your python installation. The directories
+cgi-bin, templates, htdocs and wiki-default are all copied to
+``$prefix/share/trac/``.
+
+The script will also install the trac-admin command-line tool, used to
+create and maintain project environments. Trac-admin is the command
+center of Trac.
+
+Note: you'll need root permissions or equivalent for this step.
+
+To install Trac in a different location, or use other advanced
+installation options, run::
+
+  $ python ./setup.py --help
+
+
+Installing Trac on Windows
+--------------------------
+
+If you downloaded the Trac installer (the .exe file), installing is
+simply a matter of running the installer.  After running the
+installer, configuration and installation is the same as for other
+platforms.
+
+
+Creating a Project Environment
+------------------------------
+
+A Trac environment is the backend storage format where Trac stores
+information like wiki pages, tickets, reports, settings, etc. A Trac
+environment consists of the environment configuration file (trac.ini),
+custom templates, log files, and more.
+
+A new Trac environment is created with trac-admin::
+
+  $ trac-admin /path/to/projectenv initenv
+
+Note: The user account under which the web server is run needs write
+permission to the environment directory and all the files inside.
+
+trac-admin will prompt you for the name of the project, where your
+subversion repository is located, what database you want to use, etc.
+
+
+Running the Standalone Server
+-----------------------------
+
+After having created a Trac environment, you can easily try the web
+interface by running the standalone server ``tracd``::
+
+  $ tracd --port 8000 /path/to/projectenv
+
+Then, fire up a browser and visit http://localhost:8000/. You should
+get a simple listing of all environments that tracd knows
+about. Follow the link to the environment you just created, and you
+should see Trac in action.
+
+
+Running Trac on a Web Server
+----------------------------
+
+Trac provides three options for connecting to a "real" web server:
+CGI, FastCGI and mod_python. For decent performance, it is recommended
+that you use either FastCGI or mod_python.
+
+Please refer to the TracInstall page for details on these setups. You
+can find it either in the wiki of the Trac project you just created,
+or on the main Trac site.
+
+
+Using Trac
+----------
+
+Once you have your Trac site up and running, you should be able to
+browse your subversion repository, create tickets, view the timeline,
+etc.
+
+Keep in mind that anonymous (not logged in) users can by default
+access most but not all of the features. You will need to configure
+authentication and grant additional permissions to authenticated users
+to see the full set of features.
+
+For further documentation, see the TracGuide wiki page.
+
+Enjoy!
+
+/The Trac Team
+
+Please also consider joining the mailing lists at
+<http://groups.google.com/group/trac-users>
+
+
+Visit the Trac open source project at <http://trac.edgewall.org/>
+# == Makefile for Trac related tasks (beyond those supported by setuptools) ==
+#
+# Automating testing, i18n tasks, documentation generation, ... see HELP below
+# ----------------------------------------------------------------------------
+#
+# Note about customization:
+#   No changes to the present Makefile should be necessary,
+#   rather copy Makefile.cfg.sample to Makefile.cfg and adapt it
+#   to match your local environment.
+#
+# Note that this is a GNU Makefile, nmake and other abominations are
+# not supported.
+#
+# ============================================================================
+
+define HELP
+
+ Please use `make <target>' where <target> is one of: 
+
+  clean               delete all compiled files 
+  status              show which Python is used and other infos
+
+  [python=...]        variable for selecting Python version
+
+ ---------------- Testing tasks
+
+  unit-test           run unit tests
+  functional-test     run functional tests
+  test-wiki           shortcut for running all wiki unit tests
+  test                run all tests
+  coverage            run all tests, under coverage
+  figleaf             run all tests, under figleaf
+
+  [db=...]            variable for selecting database backend
+  [test=...]          variable for selecting a single test file
+  [testopts=...]      variable containing extra options for running tests
+  [coverageopts=...]  variable containing extra options for coverage
+
+ ---------------- Code checking tasks
+
+  pylint              check code with pylint
+
+ ---------------- Standalone test server
+
+  server              start tracd
+
+  [port=...]          variable for selecting the port
+  [auth=...]          variable for specifying authentication
+  [env=...]           variable for the trac environment or parent dir
+  [tracdopts=...]     variable containing extra options for tracd
+
+ ---------------- L10N tasks
+
+  init-xy             create catalogs for given xy locale
+
+  extraction          regenerate the catalog templates
+
+  update              update all the catalog files from the templates
+  update-xy           update the catalogs for the xy locale only
+
+  compile             compile all the catalog files
+  compile-xy          compile the catalogs for the xy locale only
+
+  check               verify all the catalog files
+  check-xy            verify the catalogs for the xy locale only
+
+  stats               detailed translation statistics for all catalogs
+  stats-pot           total messages in the catalog templates
+  stats-xy            translated, fuzzy, untranslated for the xy locale only
+
+  summary             display percent translated for all catalogs
+  summary-xy          display percent translated for the xy locale only
+                      (suitable for a commit message)
+
+  diff                show relevant changes after an update for all catalogs
+  diff-xy             show relevant changes after an update for the xy locale
+
+  [locale=...]        variable for selecting a set of locales
+
+ ---------------- Documentation tasks
+
+  apidoc|sphinx       generate the Sphinx documentation (all specified formats)
+  apidoc-html         generate the Sphinx documentation in HTML format
+  apidoc-pdf          generate the Sphinx documentation in PDF format
+
+  apiref|epydoc       generate the full API reference using Epydoc
+
+  [sphinxformat=...]  list of formats for generated documentation
+  [sphinxopts=...]    variable containing extra options for Sphinx
+  [sphinxopts-html=...] variable containing extra options used for html format
+  [epydocopts=...]    variable containing extra options for Epydoc
+  [dotpath=/.../dot]  path to Graphviz' dot program (not used yet)
+                         
+endef
+export HELP
+
+# ` (keep emacs font-lock happy)
+
+define HELP_CFG
+ It looks like you don't have a Makefile.cfg file yet.
+ You can get started by doing `cp Makefile.cfg.sample Makefile.cfg'
+ and then adapt it to your environment.
+endef
+export HELP_CFG
+
+# ============================================================================
+
+# ----------------------------------------------------------------------------
+#
+# Main targets
+#
+# ----------------------------------------------------------------------------
+
+.PHONY: all help status clean clean-bytecode clean-mo
+
+ifdef test
+all: status
+	python $(test) $(testopts)
+else
+all: help
+endif
+
+help: Makefile.cfg
+	@echo "$$HELP"
+
+
+Makefile.cfg:
+	@echo "$$HELP_CFG"
+
+status:
+	@echo -n "Python version: "
+	@python -V
+	@echo -n "figleaf: "
+	@-which figleaf 2>/dev/null || echo 
+	@echo -n "coverage: "
+	@-which coverage 2>/dev/null || echo 
+	@echo "PYTHONPATH=$$PYTHONPATH"
+	@echo "TRAC_TEST_DB_URI=$$TRAC_TEST_DB_URI"
+	@echo "server-options=$(server-options)"
+
+Trac.egg-info: status
+	python setup.py egg_info
+
+clean: clean-bytecode clean-figleaf clean-coverage clean-doc
+
+clean-bytecode:
+	find -name \*.py[co] -exec rm {} \;
+
+Makefile: ;
+
+# ----------------------------------------------------------------------------
+#
+-include Makefile.cfg
+#
+# ----------------------------------------------------------------------------
+
+
+# ----------------------------------------------------------------------------
+#
+# L10N related tasks
+#
+# ----------------------------------------------------------------------------
+
+catalogs = messages messages-js tracini
+
+ifdef locale
+    locales = $(locale)
+else
+    locales = $(wildcard trac/locale/*/LC_MESSAGES/messages.po)
+    locales := $(subst trac/locale/,,$(locales))
+    locales := $(subst /LC_MESSAGES/messages.po,,$(locales))
+    locales := $(sort $(locales))
+endif
+
+# Note: variables only valid within a $(foreach catalog,...) evaluation
+catalog.po = trac/locale/$(*)/LC_MESSAGES/$(catalog).po
+catalog.pot = trac/locale/$(catalog).pot
+catalog_stripped = $(subst messages,,$(subst -,,$(catalog)))
+_catalog = $(if $(catalog_stripped),_)$(catalog_stripped)
+
+.PHONY: extract extraction update compile check stats summary diff
+
+init-%:
+	@$(foreach catalog,$(catalogs), \
+	    [ -e $(catalog.po) ] \
+	    && echo "$(catalog.po) already exists" \
+	    || python setup.py init_catalog$(_catalog) -l $(*);)
+
+extract extraction:
+	python setup.py $(foreach catalog,$(catalogs),\
+	    extract_messages$(_catalog))
+
+update-%:
+	python setup.py $(foreach catalog,$(catalogs), \
+	    update_catalog$(_catalog) -l $(*))
+
+ifdef locale
+update: $(addprefix update-,$(locale))
+else
+update:
+	python setup.py $(foreach catalog,$(catalogs), \
+       	    update_catalog$(_catalog))
+endif
+
+compile-%:
+	python setup.py $(foreach catalog,$(catalogs), \
+	    compile_catalog$(_catalog) -l $(*)) \
+            generate_messages_js -l $(*)
+
+ifdef locale
+compile: $(addprefix compile-,$(locale))
+else
+compile:
+	python setup.py $(foreach catalog,$(catalogs), \
+            compile_catalog$(_catalog))
+endif
+
+check: pre-check $(addprefix check-,$(locales))
+	@echo "All catalogs checked are OK"
+
+pre-check:
+	@echo "checking catalogs for $(locales)..."
+
+check-%:
+	@echo -n "$(@): "
+	@$(foreach catalog,$(catalogs), \
+	    msgfmt --check $(catalog.po) &&) echo OK
+	@rm -f messages.mo
+
+stats: pre-stats $(addprefix stats-,$(locales))
+
+pre-stats: stats-pot
+	@echo "translation statistics for $(locales)..."
+
+stats-pot:
+	@echo "translation statistics for catalog templates:"
+	@$(foreach catalog,$(catalogs), \
+	    echo -n "$(catalog.pot): "; \
+	    msgfmt --statistics $(catalog.pot);)
+	@rm -f messages.mo
+
+stats-%:
+	@$(foreach catalog,$(catalogs), \
+	    [ -e $(catalog.po) ] \
+	    && echo -n "$(catalog.po): "; \
+	       msgfmt --statistics $(catalog.po) \
+	    || echo "$(catalog.po) doesn't exist (make init-$(*))";)
+	@rm -f messages.mo
+
+summary: $(addprefix summary-,$(locales))
+
+define untranslated-sh
+LC_ALL=C msgfmt --statistics $(catalog.pot) 2>&1 \
+  | tail -1 \
+  | sed -e 's/0 translated messages, \([0-9]*\) un.*/\1/'
+endef
+
+define translated-sh
+{ LC_ALL=C msgfmt --statistics $(catalog.po) 2>&1 || echo 0; } \
+    | tail -1 \
+    | sed -e 's/[^0-9]*\([0-9]*\) translated.*/\1/'
+endef
+
+MESSAGES_TOTAL = \
+    $(eval MESSAGES_TOTAL := ($(foreach catalog,$(catalogs), \
+                                  $(shell $(untranslated-sh)) + ) 0)) \
+    $(MESSAGES_TOTAL)
+
+summary-%:
+	@python -c "print 'l10n/$(*): translations updated (%d%%)' \
+	    % (($(foreach catalog,$(catalogs), \
+	          $(shell $(translated-sh)) + ) 0) * 100.0 \
+	       / $(MESSAGES_TOTAL))"
+	@rm -f messages.mo
+
+diff: $(addprefix diff-,$(locales))
+
+
+diff-%:
+	@svn diff trac/locale/$(*) \
+	    | grep -Ev '^([-+]#:|[@ ])' | grep -E '^[-+@]' || true
+
+clean-mo:
+	find trac/locale -name \*.mo -exec rm {} \;
+	find trac/htdocs/js/messages -name \*.js -exec rm {} \;
+
+
+# ----------------------------------------------------------------------------
+#
+# Testing related tasks
+#
+# ----------------------------------------------------------------------------
+
+.PHONY: test unit-test functional-test test-wiki
+
+test: unit-test functional-test
+
+unit-test: Trac.egg-info
+	python ./trac/test.py --skip-functional-tests $(testopts)
+
+functional-test: Trac.egg-info
+	python trac/tests/functional/__init__.py -v $(testopts)
+
+test-wiki:
+	python trac/tests/allwiki.py $(testopts)
+
+# ----------------------------------------------------------------------------
+#
+# Code checking tasks
+#
+# ----------------------------------------------------------------------------
+
+.PHONY: pylint
+
+pylint:
+	pylint \
+		--include-ids=y --persistent=n --comment=n --init-import=y \
+		--disable=E0102,E0211,E0213,E0602,E0611,E1002,E1101,E1102,E1103 \
+		--disable=F0401 \
+		--disable=W0102,W0141,W0142,W0201,W0212,W0221,W0223,W0231,W0232, \
+		--disable=W0401,W0511,W0603,W0613,W0614,W0621,W0622,W0703 \
+		--disable=C0103,C0111 \
+		trac tracopt
+
+# ----------------------------------------------------------------------------
+#
+# Coverage related tasks
+#
+# (see http://nedbatchelder.com/code/coverage/)
+#
+# ----------------------------------------------------------------------------
+
+.PHONY: coverage clean-coverage show-coverage
+
+coverage: clean-coverage test-coverage show-coverage
+
+clean-coverage:
+	coverage erase
+	@rm -fr htmlcov
+
+ifdef test
+test-coverage:
+	coverage run $(test) $(testopts)
+else
+test-coverage: unit-test-coverage functional-test-coverage
+endif
+
+unit-test-coverage:
+	coverage run -a $(coverageopts) trac/test.py --skip-functional-tests
+
+functional-test-coverage:
+	FIGLEAF='coverage run -a $(coverageopts)' python \
+	    trac/tests/functional/testcases.py -v
+
+show-coverage: htmlcov/index.html
+	#coverage report
+
+htmlcov/index.html:
+	coverage html \
+	    --omit=$(subst $(space),$(comma),$(wildcard trac/*/templates)),trac/templates
+
+# ----------------------------------------------------------------------------
+#
+# Figleaf based coverage tasks 
+#
+# (see http://darcs.idyll.org/~t/projects/figleaf/doc/)
+#
+# ** NOTE: there are still several issues with this **
+#  - as soon as a DocTestSuite is run, figleaf gets confused
+#  - functional-test-figleaf is broken (no .figleaf generated)
+#
+# ----------------------------------------------------------------------------
+
+.PHONY: figleaf clean-figleaf show-figleaf
+
+figleaf: clean-figleaf test-figleaf show-figleaf
+
+clean-figleaf:
+	rm -f .figleaf* *.figleaf