Bazaar-NG plugin for Trac
This plugin is based on earlier plugins. Its main innovation is to make multiple branches available, the way Trac normally does.
Copyright (C) 2005 Edgewall Software Copyright (C) 2005-2006 Christian Boos <cboos@neuf.fr> Copyright (C) 2005 Johan Rydberg <jrydberg@gnu.org> Copyright (C) 2006 Yann Hodique <hodique@lifl.fr> Copyright (C) 2006 Jelmer Vernooij <jelmer@samba.org> Copyright (C) 2006 Lukas Lalinsky <lalinsky@gmail.com> Copyright (C) 2006 Marien Zwart <marienz@gentoo.org> Copyright (C) 2006, 2007 Panoramic Feedback <abentley@panoramicfeedback.com> All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Supports all major Trac views and "changeset:" notation.
Allows a collection of branches to be treated as a "trac repository", regardless of whether they are related or in the same bzr repository.
Follows symlinks to branches
This plugin uses bzrlib directly, so it requires Python 2.4 or greater.
This has been tested with Bazaar 0.13. Earlier versions may or may not work.
After installing, you'll want to set the following values:
This should include "tracbzr.* = enabled"
This should point at the directory containing your branches. This directory does not have to be a repository. trac+bzr doesn't require branches to be related, though that is permitted, of course.
This should be "bzr".
You can also use "bzr+debug" for debug mode. In debug mode, all repository operations are logged to the standard log output. (Turning this on for one repository_dir may enable it for all of them.)
This plugin introduces the bogus changeset "current:", which is used as the last-revision for directories that are not branches. It also provides "null:", which is part of Bazaar's theoretical model, but usually hidden.
Some user-level operations are rather slow, because Trac's assumptions about which repository operations are cheap vs expensive doesn't match Bazaar's design. In particular, Bzr doesn't track "which revision last modified files in this directory." In theory, this can be solved by caching the results of expensive operations.
Changesets are sorted by timestamp, so clock skew may cause some changesets to be displayed out-of order. Changesets have only a partial ordering anyhow, and this was deemed faster.
Trac appears not to recognize bzr revision strings in its bracket notation, e.g. [tree,25]. However, you can use the changeset notation instead, e.g. changeset:tree,25.
Because at the moment Bazaar does not store information about encoding of text files, you may want to change the default character set used by trac. By default trac use encoding iso-8895-15 to show content of your files. If you need to change this option, you need to edit trac.ini of your project. In section "trac" you need to change parameter named "default_charset". E.g. for russian files:
[trac] default_charset = cp1251
- Partial fix for bug #303327: shared repository works with multiple branches (merged from: lp:~quartz25/trac-bzr/bug-303327,52)
- Fix for bug #263300: viewing revision history now works on bzr 1.12 (merged from: lp:~rocky-burt/trac-bzr/bug-263300,55)
- nothing