~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to README.txt

  • Committer: Michael Hudson
  • Date: 2008-06-25 06:18:13 UTC
  • mfrom: (174.1.8 streaming)
  • Revision ID: michael.hudson@canonical.com-20080625061813-3cr5iax8sdz0e67s
merge my streaming branch which:
 * most importantly, streams the pages as they render to the client, which 
   reduces memory usage on large pages and feels better for the user
 * makes the stuff in controller/ have a more wsgi-ish interface
 * restores the stripping of excess whitespace from the output

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
LOGGERHEAD
2
2
==========
3
3
 
4
 
[ version 1.1.1 for bazaar 0.13 ]
5
 
 
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.
8
 
 
9
 
This is a TurboGears (http://www.turbogears.org) project.  It can be
10
 
started by running::
 
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 SimpleTAL for templating and Paste for the
 
15
server.  So you need these installed -- on Ubuntu you want the
 
16
'python-simpletal' and 'python-paste' packages installed.  You need
 
17
version 1.2 or newer of Paste.
 
18
 
 
19
Then simply run the 'serve-branches.py' with the branch you want to
 
20
serve on the command line:
 
21
 
 
22
    ./serve-branches.py ~/path/to/branch
 
23
 
 
24
The script listens on port 8080 so head to http://localhost:8080/ in
 
25
your browser to see the branch.  You can also pass a directory that
 
26
contains branches to the script, and it will serve a very simple
 
27
directory listing at other pages.
 
28
 
 
29
You may update the Bazaar branches being viewed at any time.
 
30
Loggerhead will notice and refresh, and Bazaar uses its own branch
 
31
locking to prevent corruption.
 
32
 
 
33
 
 
34
USING A CONFIG FILE
 
35
-------------------
 
36
 
 
37
Previous versions of Loggerhead read their configuration from a config
 
38
file.  This mode of operation is still supported by the
 
39
'start-loggerhead.py' script.  A 'loggerhead.conf.example' file is
 
40
included in the source which has comments explaining the various
 
41
options.
 
42
 
 
43
Loggerhead can then be started by running::
11
44
 
12
45
    $ ./start-loggerhead.py
13
 
    
14
 
This will run loggerhead in the background.  To stop it, run::
 
46
 
 
47
This will run loggerhead in the background, listening on port 8080 by
 
48
default.
 
49
 
 
50
To stop Loggerhead, run::
15
51
 
16
52
    $ ./stop-loggerhead.py
17
53
 
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::
 
54
In the configuration file you can configure projects, and branches per
 
55
project.  The idea is that you could be publishing several (possibly
 
56
unrelated) projects through the same loggerhead instance, and several
 
57
branches for the same project.  See the "loggerhead.conf.example" file
 
58
included with the source.
 
59
 
 
60
A debug and access log are stored in the logs/ folder, relative to
 
61
the location of the start-loggerhead.py script.
 
62
 
 
63
 
 
64
SERVING LOGGERHEAD FROM BEHIND APACHE
 
65
-------------------------------------
 
66
 
 
67
If you want to view Bazaar branches from your existing Apache
 
68
installation, you'll need to configure Apache to proxy certain
 
69
requests to Loggerhead.  Adding lines like this to you Apache
 
70
configuration is one way to do this::
20
71
 
21
72
    <Location "/branches/">
22
73
        ProxyPass http://127.0.0.1:8080/
23
74
        ProxyPassReverse http://127.0.0.1:8080/
24
75
    </Location>
25
 
    
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.
30
 
 
31
 
Don't bother with "dev.cfg" or any of the other TurboGears config files.
32
 
Loggerhead overrides those values with its own.
33
 
 
34
 
A debug and access log are stored in the logs/ folder.
35
 
 
36
 
 
37
 
CACHES
38
 
------
39
 
 
40
 
To speed up most operations, loggerhead will start creating two caches per
41
 
branch when it first launches:
42
 
 
43
 
    - a revision data cache
44
 
    - a text searching cache
45
 
 
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.
48
 
 
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.
53
 
 
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.
 
76
 
 
77
If Paste Deploy is installed, the 'serve-branches.py' script can be
 
78
run behind a proxy at the root of a site, but if you're running it at
 
79
some path into the site, you'll need to add a 'prefix' argument to the
 
80
PrefixMiddleware call in the script.  More flexible configuration
 
81
should be added soon...
 
82
 
 
83
 
 
84
FILES CHANGED CACHE
 
85
-------------------
 
86
 
 
87
To speed up the display of the changelog view for large trees,
 
88
loggerhead can be configured to cache the files changes between
 
89
revisions.  Set the 'cachepath' value in the config file.
57
90
 
58
91
 
59
92
SUPPORT
60
93
-------
61
94
 
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.
64
 
 
 
95
Loggerhead is loosely based on bazaar-webserve, which was loosely
 
96
based on hgweb.  Discussion should take place on the bazaar-dev
 
97
mailing list at bazaar@lists.canonical.com.  You can join the list at
 
98
<https://lists.ubuntu.com/mailman/listinfo/bazaar>.  You don't need to
 
99
subscribe to post, but your first post will be held briefly for manual
 
100
moderation.
 
101
 
 
102
Bugs are tracked on Launchpad; start at:
 
103
 
 
104
    https://bugs.launchpad.net/loggerhead