4
[ Version 1.17 for Bazaar 1.17 ]
6
Loggerhead is a web viewer for Bazaar branches. It can be used to
7
navigate a branch history, annotate files, perform searches... all the
14
Loggerhead depends on:
16
1) SimpleTAL for templating.
17
On Ubuntu, `sudo apt-get install python-simpletal`
18
or download from http://www.owlfish.com/software/simpleTAL/download.html
19
2) simplejson for producing JSON data.
20
On Ubuntu, `sudo apt-get install python-simplejson`
21
or use `easy_install simplejson`.
22
3) Paste for the server. (You need version 1.2 or newer of Paste.)
23
On Ubuntu, `sudo apt-get install python-paste`
24
or use `easy_install Paste`
25
4) Paste Deploy (optional, needed when proxying through Apache)
26
On Ubuntu, `sudo apt-get install python-pastedeploy`
27
or use `easy_install PasteDeploy`
29
Then simply run the 'serve-branches' with the branch you want to
30
serve on the command line:
32
./serve-branches ~/path/to/branch
34
The script listens on port 8080 so head to http://localhost:8080/ in
35
your browser to see the branch. You can also pass a directory that
36
contains branches to the script, and it will serve a very simple
37
directory listing at other pages.
39
You may update the Bazaar branches being viewed at any time.
40
Loggerhead will notice and refresh, and Bazaar uses its own branch
41
locking to prevent corruption.
43
To run loggerhead as a linux daemon:
44
1) Copy loggerheadd to /etc/init.d
45
2) Edit the file to configure where your loggerhead is installed, and which
46
serve-branches options you would like.
47
3) Register the service
49
a) on upstart based systems like Ubuntu run:
50
update-rc.d loggerheadd defaults
51
b) on Sysvinit based systems like Centos or SuSE run:
52
chkconfig --add loggerheadd
55
LOGGERHEAD AS A BAZAAR PLUGIN
56
-----------------------------
58
This branch contains experimental support for using Loggerhead as a Bazaar
59
plugin. To use it, place the top-level Loggerhead directory (the one
60
containing this file) at ``~/.bazaar/plugins/loggerhead``.
66
To hide branches from being displayed, add to ``~/.bazaar/locations.conf``,
67
under the branch's section:
73
More configuration options to come soon.
76
SERVING LOGGERHEAD FROM BEHIND APACHE
77
-------------------------------------
79
If you want to view Bazaar branches from your existing Apache
80
installation, you'll need to configure Apache to proxy certain
81
requests to Loggerhead. Adding lines like this to you Apache
82
configuration is one way to do this::
4
[ version 1.1.1 for bazaar 0.13 ]
6
Loggerhead is a web viewer for bazaar branches. It can be used to navigate
7
a branch history, annotate files, perform searches... all the usual things.
9
This is a TurboGears (http://www.turbogears.org) project. It can be
12
$ ./start-loggerhead.py
14
This will run loggerhead in the background. To stop it, run::
16
$ ./stop-loggerhead.py
18
If you're not familiar with TurboGears, the simplest way to get running is
19
to add the following lines to your apache configuration::
84
21
<Location "/branches/">
85
ProxyPass http://127.0.0.1:8080/branches/
86
ProxyPassReverse http://127.0.0.1:8080/branches/
22
ProxyPass http://127.0.0.1:8080/
23
ProxyPassReverse http://127.0.0.1:8080/
89
If Paste Deploy is installed, the 'serve-branches' script can be
90
run behind a proxy at the root of a site, but if you're running it at
91
some path into the site, you'll need to specify is using '--prefix=/some_path'.
26
The config file is "loggerhead.conf". In there, you can configure projects,
27
and branches per project. The idea is that you could be publishing several
28
(possibly unrelated) projects through the same loggerhead instance, and
29
several branches for the same project.
31
Don't bother with "dev.cfg" or any of the other TurboGears config files.
32
Loggerhead overrides those values with its own.
34
A debug and access log are stored in the logs/ folder.
97
Search is currently supported by using the bzr-search plugin (available
98
at: ``https://launchpad.net/bzr-search``
99
You need to have the plugin installed and each branch indexed to allow
100
searching on branches.
40
To speed up most operations, loggerhead will start creating two caches per
41
branch when it first launches:
43
- a revision data cache
44
- a text searching cache
46
You can put the cache folder anywhere, but I find that a folder under
47
the branch's .bzr/ folder is the simplest place.
49
The caches for a branch with 10,000 revisions take about 15 minutes each
50
on my machine, but YMMV. Once they are built, they update every six hours
51
or so but usually finish quickly (or instantly) after the initial creation.
52
Until the revision cache is built, all operations will be slow.
54
You may update the bazaar branch at any time (for example, from a cron).
55
Loggerhead will notice and refresh, and bazaar uses its own branch locking
56
to prevent corruption.
105
Loggerhead is loosely based on bazaar-webserve, which was loosely
106
based on hgweb. Discussion should take place on the bazaar-dev
107
mailing list at bazaar@lists.canonical.com. You can join the list at
108
<https://lists.ubuntu.com/mailman/listinfo/bazaar>. You don't need to
109
subscribe to post, but your first post will be held briefly for manual
112
Bugs are tracked on Launchpad; start at:
114
https://bugs.launchpad.net/loggerhead
120
To run loggerhead tests, you will need the package python-nose,
121
and run in the loggerhead directory:
62
This is loosely based on bazaar-webserve, which was loosely based on hgweb.
63
Discussion should take place on the bazaar-dev mailing list.