~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to README.txt

  • Committer: Michael Hudson
  • Date: 2009-02-19 01:24:20 UTC
  • mto: This revision was merged to the branch mainline in revision 271.
  • Revision ID: michael.hudson@canonical.com-20090219012420-c6s1j3etl2t4r7wa
defer loading of plugins until after we've set up the logging

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
LOGGERHEAD
2
2
==========
3
3
 
4
 
Loggerhead is a web viewer for bazaar branches.  It can be used to navigate
5
 
a branch history, annotate files, perform searches... all the usual things.
6
 
 
7
 
This is a TurboGears (http://www.turbogears.org) project.  It can be
8
 
started by running the 'start-loggerhead.py' script.
9
 
 
10
 
If you're not familiar with turbogears, the easiest way to get this script
11
 
started is to run it via::
12
 
 
13
 
    $ nohup ./start-loggerhead.py &
14
 
    
15
 
and add the following lines to your apache configuration::
 
4
[ Version 1.6 for Bazaar 1.6 ]
 
5
 
 
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
 
8
usual things.
 
9
 
 
10
 
 
11
GETTING STARTED
 
12
---------------
 
13
 
 
14
Loggerhead depends on 
 
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`
 
24
 
 
25
Then simply run the 'serve-branches' with the branch you want to
 
26
serve on the command line:
 
27
 
 
28
    ./serve-branches ~/path/to/branch
 
29
 
 
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.
 
34
 
 
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.
 
38
 
 
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
 
44
   cd /etc/init.d
 
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
 
49
 
 
50
USING A CONFIG FILE
 
51
-------------------
 
52
 
 
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
 
57
options.
 
58
 
 
59
Loggerhead can then be started by running::
 
60
 
 
61
    $ ./start-loggerhead
 
62
 
 
63
This will run loggerhead in the background, listening on port 8080 by
 
64
default.
 
65
 
 
66
To stop Loggerhead, run::
 
67
 
 
68
    $ ./stop-loggerhead
 
69
 
 
70
In the configuration file you can configure projects, and branches per
 
71
project.  The idea is that you could be publishing several (possibly
 
72
unrelated) projects through the same loggerhead instance, and several
 
73
branches for the same project.  See the "loggerhead.conf.example" file
 
74
included with the source.
 
75
 
 
76
A debug and access log are stored in the logs/ folder, relative to
 
77
the location of the start-loggerhead script.
 
78
 
 
79
 
 
80
SERVING LOGGERHEAD FROM BEHIND APACHE
 
81
-------------------------------------
 
82
 
 
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::
16
87
 
17
88
    <Location "/branches/">
18
89
        ProxyPass http://127.0.0.1:8080/
19
90
        ProxyPassReverse http://127.0.0.1:8080/
20
91
    </Location>
21
 
    
22
 
The port configuration is in "dev.cfg".
23
 
 
24
 
The config file is "loggerhead.conf".  In there, you can configure projects,
25
 
and branches per project.  The idea is that you could be publishing several
26
 
(possibly unrelated) projects through the same loggerhead instance, and 
27
 
several branches for the same project.
28
 
 
29
 
 
30
 
CACHES
31
 
------
32
 
 
33
 
To speed up most operations, loggerhead will start creating two caches per
34
 
branch when it first launches:
35
 
 
36
 
    - a revision data cache
37
 
    - a text searching cache
38
 
 
39
 
You can put the cache folder anywhere, but I find that a folder under
40
 
the branch's .bzr/ folder is the simplest place.
41
 
 
42
 
The caches for a branch with 10,000 revisions take about 15 minutes each
43
 
on my machine, but YMMV.  Once they are built, they update every six hours
44
 
or so but usually finish quickly (or instantly) after the initial creation.
45
 
Until the revision cache is built, all operations will be slow.
46
 
 
47
 
You may update the bazaar branch at any time (for example, from a cron).
48
 
Loggerhead will notice and refresh, and bazaar uses its own branch locking
49
 
to prevent corruption.
 
92
 
 
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'.
 
96
 
 
97
FILES CHANGED CACHE
 
98
-------------------
 
99
 
 
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.
50
103
 
51
104
 
52
105
SUPPORT
53
106
-------
54
107
 
55
 
This is loosely based on bazaar-webserve, which was loosely based on hgweb.
56
 
Discussion should take place on the bazaar-dev mailing list.
57
 
 
 
108
Loggerhead is loosely based on bazaar-webserve, which was loosely
 
109
based on hgweb.  Discussion should take place on the bazaar-dev
 
110
mailing list at bazaar@lists.canonical.com.  You can join the list at
 
111
<https://lists.ubuntu.com/mailman/listinfo/bazaar>.  You don't need to
 
112
subscribe to post, but your first post will be held briefly for manual
 
113
moderation.
 
114
 
 
115
Bugs are tracked on Launchpad; start at:
 
116
 
 
117
    https://bugs.launchpad.net/loggerhead