|
28.1.147
by Aaron Bentley
Add docs |
1 |
Multi-branch Bazaar plugin for Trac
|
|
40
by Jelmer Vernooij
Fix typo, import note about file encoding, rstify. |
2 |
===================================
|
3 |
||
4 |
.. contents:
|
|
|
28.1.147
by Aaron Bentley
Add docs |
5 |
|
6 |
This plugin is based on earlier plugins. Its main innovation is to make |
|
7 |
multiple branches available, the way Trac normally does. |
|
8 |
||
|
28.1.153
by Aaron Bentley
Add GPL 2+ license statements |
9 |
Copyright (C) 2005 Edgewall Software |
10 |
Copyright (C) 2005-2006 Christian Boos <cboos@neuf.fr> |
|
11 |
Copyright (C) 2005 Johan Rydberg <jrydberg@gnu.org> |
|
12 |
Copyright (C) 2006 Yann Hodique <hodique@lifl.fr> |
|
|
33
by Jelmer Vernooij
add my copyright. |
13 |
Copyright (C) 2006 Jelmer Vernooij <jelmer@samba.org> |
|
28.1.153
by Aaron Bentley
Add GPL 2+ license statements |
14 |
Copyright (C) 2006 Lukas Lalinsky <lalinsky@gmail.com> |
15 |
Copyright (C) 2006 Marien Zwart <marienz@gentoo.org> |
|
16 |
Copyright (C) 2006, 2007 Panoramic Feedback <abentley@panoramicfeedback.com> |
|
17 |
All rights reserved. |
|
18 |
||
19 |
This program is free software; you can redistribute it and/or modify |
|
20 |
it under the terms of the GNU General Public License as published by |
|
21 |
the Free Software Foundation; either version 2 of the License, or |
|
22 |
(at your option) any later version. |
|
23 |
||
24 |
This program is distributed in the hope that it will be useful, |
|
25 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
26 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
27 |
GNU General Public License for more details. |
|
28 |
||
29 |
You should have received a copy of the GNU General Public License |
|
30 |
along with this program; if not, write to the Free Software |
|
31 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
32 |
||
|
28.1.147
by Aaron Bentley
Add docs |
33 |
|
34 |
Features
|
|
35 |
========
|
|
36 |
Supports all major Trac views and "changeset:" notation. |
|
37 |
||
38 |
Allows a collection of branches to be treated as a "trac repository", |
|
39 |
regardless of whether they are related or in the same bzr repository. |
|
40 |
||
41 |
Follows symlinks to branches |
|
42 |
||
43 |
||
44 |
Requirements
|
|
45 |
============
|
|
46 |
||
47 |
Python 2.4
|
|
48 |
----------
|
|
49 |
This plugin uses bzrlib directly, so it requires Python 2.4 or greater. |
|
50 |
||
|
40
by Jelmer Vernooij
Fix typo, import note about file encoding, rstify. |
51 |
Bazaar 0.13
|
|
28.1.152
by Aaron Bentley
Correct Bazaar version number |
52 |
-----------
|
53 |
This has been tested with Bazaar 0.13. Earlier versions may or may not work. |
|
|
28.1.147
by Aaron Bentley
Add docs |
54 |
|
55 |
||
56 |
Configuration
|
|
57 |
=============
|
|
58 |
After installing, you'll want to set the following values: |
|
59 |
||
60 |
components
|
|
61 |
----------
|
|
62 |
This should include "tracbzr.* = enabled" |
|
63 |
||
64 |
repository_dir
|
|
65 |
--------------
|
|
66 |
This should point at the directory containing your branches. This directory |
|
67 |
does not have to be a repository. trac+bzr doesn't require branches to |
|
68 |
be related, though that is permitted, of course. |
|
69 |
||
70 |
repository_type
|
|
71 |
---------------
|
|
72 |
This should be "bzr". |
|
73 |
||
74 |
You can also use "bzr+debug" for debug mode. In debug mode, all |
|
75 |
repository operations are logged to the standard log output. (Turning this on |
|
76 |
for one repository_dir may enable it for all of them.) |
|
77 |
||
78 |
||
79 |
Limitations
|
|
80 |
===========
|
|
81 |
||
82 |
Bogus changesets
|
|
83 |
----------------
|
|
84 |
This plugin introduces the bogus changeset "current:", which is used as |
|
85 |
the last-revision for directories that are not branches. It also provides |
|
86 |
"null:", which is part of Bazaar's theoretical model, but usually hidden. |
|
87 |
||
88 |
Hidden Nested Branches
|
|
89 |
----------------------
|
|
90 |
Because Trac, like Subversion, doesn't differentiate between "source file |
|
91 |
namespace" and "branch namespace", it is impossible to view branches whose |
|
92 |
directories are directly inside other branches' directories. |
|
93 |
||
94 |
Speed issues
|
|
95 |
------------
|
|
96 |
Some user-level operations are rather slow, because Trac's assumptions |
|
97 |
about which repository operations are cheap vs expensive doesn't match Bazaar's |
|
98 |
design. In particular, Bzr doesn't track "which revision last modified files |
|
99 |
in this directory." In theory, this can be solved by caching the results of |
|
100 |
expensive operations. |
|
101 |
||
102 |
Revision Order
|
|
103 |
--------------
|
|
104 |
Changesets are sorted by timestamp, so clock skew may cause some changesets |
|
105 |
to be displayed out-of order. Changesets have only a partial ordering anyhow, |
|
106 |
and this was deemed faster. |
|
107 |
||
108 |
Bracket syntax
|
|
109 |
--------------
|
|
110 |
Trac appears not to recognize bzr revision strings in its bracket notation, |
|
111 |
e.g. [tree,25]. However, you can use the changeset notation instead, e.g. |
|
112 |
changeset:tree,25. |
|
|
40
by Jelmer Vernooij
Fix typo, import note about file encoding, rstify. |
113 |
|
114 |
File encoding
|
|
115 |
-------------
|
|
116 |
Because at the moment Bazaar does not store information about encoding of text |
|
117 |
files, you may want to change the default character set used by trac. |
|
118 |
By default trac use encoding iso-8895-15 to show content of your files. |
|
119 |
If you need to change this option, you need to edit trac.ini of your project. |
|
120 |
In section "trac" you need to change parameter named "default_charset". E.g. |
|
121 |
for russian files::
|
|
122 |
||
123 |
[trac]
|
|
124 |
default_charset = cp1251
|
|
125 |
||
126 |
.. vim: ft=rst
|