~trac-bzr-team/trac-bzr/trunk

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