4
[ Version 1.6 for Bazaar 1.6 ]
4
[ Version 1.2 for Bazaar 1.2 ]
6
6
Loggerhead is a web viewer for Bazaar branches. It can be used to
7
7
navigate a branch history, annotate files, perform searches... all the
15
1) SimpleTAL for templating.
16
on Ubuntu package `sudo apt-get install python-simpletal`
17
or download from http://www.owlfish.com/software/simpleTAL/download.html
18
2) Paste for the server. (You need version 1.2 or newer of Paste.)
19
on Ubuntu package `sudo apt-get install python-paste`
20
or use `easy_install Paste`
21
3) Paste Deploy (optional, needed when proxying through Apache)
22
on Ubuntu package `sudo apt-get install python-pastedeploy`
23
or use `easy_install PasteDeploy`
25
Then simply run the 'serve-branches' with the branch you want to
26
serve on the command line:
28
./serve-branches ~/path/to/branch
30
The script listens on port 8080 so head to http://localhost:8080/ in
31
your browser to see the branch. You can also pass a directory that
32
contains branches to the script, and it will serve a very simple
33
directory listing at other pages.
35
You may update the Bazaar branches being viewed at any time.
36
Loggerhead will notice and refresh, and Bazaar uses its own branch
37
locking to prevent corruption.
39
To run loggerhead as a linux daemon:
40
1) Copy loggerheadd to /etc/init.d
41
2) Edit the file to configure where your loggerhead is installed, and which
42
serve-branches options you would like.
43
3) Register the service
45
a) on upstart based systems like Ubuntu run:
46
update-rc.d loggerheadd defaults
47
b) on Sysvinit based systems like Centos or SuSE run:
48
chkconfig --add loggerheadd
53
Previous versions of Loggerhead read their configuration from a config
54
file. This mode of operation is still supported by the
55
'start-loggerhead' script. A 'loggerhead.conf.example' file is
56
included in the source which has comments explaining the various
10
To get started, first you need to create a 'loggerhead.conf' file
11
specifying the branches you want to view. A 'loggerhead.conf.example'
12
file is included in the source which has comments explaining the
59
15
Loggerhead can then be started by running::
17
$ ./start-loggerhead.py
63
This will run loggerhead in the background, listening on port 8080 by
19
This will run loggerhead in the background. It listens on port 8080
20
by default, so go to http://localhost:8080/ in your browser to see the
21
list of bublished branches.
66
23
To stop Loggerhead, run::
25
$ ./stop-loggerhead.py
27
If you want to view Bazaar branches from your existing Apache
28
installation, you'll need to configure Apache to proxy certain
29
requests to Loggerhead. Adding lines like this to you Apache
30
configuration is one way to do this::
32
<Location "/branches/">
33
ProxyPass http://127.0.0.1:8080/
34
ProxyPassReverse http://127.0.0.1:8080/
70
37
In the configuration file you can configure projects, and branches per
71
38
project. The idea is that you could be publishing several (possibly
73
40
branches for the same project. See the "loggerhead.conf.example" file
74
41
included with the source.
43
Although Loggerhead is a TurboGears (http://www.turbogears.org)
44
project, don't bother with "dev.cfg" or any of the other TurboGears
45
config files. Loggerhead overrides those values with its own.
76
47
A debug and access log are stored in the logs/ folder, relative to
77
the location of the start-loggerhead script.
80
SERVING LOGGERHEAD FROM BEHIND APACHE
81
-------------------------------------
83
If you want to view Bazaar branches from your existing Apache
84
installation, you'll need to configure Apache to proxy certain
85
requests to Loggerhead. Adding lines like this to you Apache
86
configuration is one way to do this::
88
<Location "/branches/">
89
ProxyPass http://127.0.0.1:8080/branches/
90
ProxyPassReverse http://127.0.0.1:8080/branches/
93
If Paste Deploy is installed, the 'serve-branches' script can be
94
run behind a proxy at the root of a site, but if you're running it at
95
some path into the site, you'll need to specify is using '--prefix=/some_path'.
100
To speed up the display of the changelog view for large trees,
101
loggerhead can be configured to cache the files changes between
102
revisions. Set the 'cachepath' value in the config file.
48
the location of the start-loggerhead.py script.
50
You may update the Bazaar branch at any time (for example, from a cron).
51
Loggerhead will notice and refresh, and Bazaar uses its own branch
52
locking to prevent corruption.
58
To speed up operations with large branches, loggerhead can be configured
59
to create three caches per branch when it first launches:
61
- a revision data cache
62
- a cache of files changed in a revision
63
- a text searching cache
65
You can put the cache folder anywhere.
67
The revision data cache and text searching cache will be automatically
68
filled once loggerhead starts up. The caches for a branch with 15,000
69
revisions take about four minutes each on a fairly fast machine, but
70
mileage may vary. Once they are built, they update every six hours or
71
so but usually finish quickly (or instantly) after the initial creation.