~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to README.txt

  • Committer: Michael Hudson
  • Date: 2008-02-28 04:34:51 UTC
  • mto: This revision was merged to the branch mainline in revision 147.
  • Revision ID: michael.hudson@canonical.com-20080228043451-nuyn35437fuphe9y
more prep

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
LOGGERHEAD
2
2
==========
3
3
 
4
 
[ Version 1.6 for Bazaar 1.6 ]
 
4
[ version 1.2 for bazaar 1.2 ]
5
5
 
6
 
Loggerhead is a web viewer for Bazaar branches.  It can be used to
 
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
8
8
usual things.
9
9
 
10
 
 
11
 
GETTING STARTED
12
 
---------------
13
 
 
14
 
Loggerhead depends on:
15
 
 
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`
28
 
 
29
 
Then simply run the 'serve-branches' with the branch you want to
30
 
serve on the command line:
31
 
 
32
 
    ./serve-branches ~/path/to/branch
33
 
 
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.
38
 
 
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.
42
 
 
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
48
 
   cd /etc/init.d
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
53
 
 
54
 
 
55
 
LOGGERHEAD AS A BAZAAR PLUGIN
56
 
-----------------------------
57
 
 
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``.
61
 
 
62
 
 
63
 
USING A CONFIG FILE
64
 
-------------------
65
 
 
66
 
Previous versions of Loggerhead read their configuration from a config
67
 
file.  This mode of operation is still supported by the
68
 
'start-loggerhead' script.  A 'loggerhead.conf.example' file is
69
 
included in the source which has comments explaining the various
70
 
options.
71
 
 
72
 
Loggerhead can then be started by running::
73
 
 
74
 
    $ ./start-loggerhead
75
 
 
76
 
This will run loggerhead in the background, listening on port 8080 by
77
 
default.
78
 
 
79
 
To stop Loggerhead, run::
80
 
 
81
 
    $ ./stop-loggerhead
82
 
 
83
 
In the configuration file you can configure projects, and branches per
84
 
project.  The idea is that you could be publishing several (possibly
85
 
unrelated) projects through the same loggerhead instance, and several
86
 
branches for the same project.  See the "loggerhead.conf.example" file
87
 
included with the source.
88
 
 
89
 
A debug and access log are stored in the logs/ folder, relative to
90
 
the location of the start-loggerhead script.
91
 
 
92
 
 
93
 
SERVING LOGGERHEAD FROM BEHIND APACHE
94
 
-------------------------------------
95
 
 
96
 
If you want to view Bazaar branches from your existing Apache
97
 
installation, you'll need to configure Apache to proxy certain
98
 
requests to Loggerhead.  Adding lines like this to you Apache
99
 
configuration is one way to do this::
 
10
This is a TurboGears (http://www.turbogears.org) project.  It can be
 
11
started by running::
 
12
 
 
13
    $ ./start-loggerhead.py
 
14
 
 
15
This will run loggerhead in the background.  To stop it, run::
 
16
 
 
17
    $ ./stop-loggerhead.py
 
18
 
 
19
If you're not familiar with TurboGears, the simplest way to get running
 
20
is to add the lines like the following to your apache configuration::
100
21
 
101
22
    <Location "/branches/">
102
 
        ProxyPass http://127.0.0.1:8080/branches/
103
 
        ProxyPassReverse http://127.0.0.1:8080/branches/
 
23
        ProxyPass http://127.0.0.1:8080/
 
24
        ProxyPassReverse http://127.0.0.1:8080/
104
25
    </Location>
105
26
 
106
 
If Paste Deploy is installed, the 'serve-branches' script can be
107
 
run behind a proxy at the root of a site, but if you're running it at
108
 
some path into the site, you'll need to specify is using '--prefix=/some_path'.
109
 
 
110
 
FILES CHANGED CACHE
111
 
-------------------
112
 
 
113
 
To speed up the display of the changelog view for large trees,
114
 
loggerhead can be configured to cache the files changes between
115
 
revisions.  Set the 'cachepath' value in the config file.
 
27
The config file is "loggerhead.conf".  In there, you can configure
 
28
projects, and branches per project.  The idea is that you could be
 
29
publishing several (possibly unrelated) projects through the same
 
30
loggerhead instance, and several branches for the same project.  A
 
31
commented example of a configuration file is loggerhead.conf.example
 
32
included with the source.
 
33
 
 
34
Don't bother with "dev.cfg" or any of the other TurboGears config files.
 
35
Loggerhead overrides those values with its own.
 
36
 
 
37
A debug and access log are stored in the logs/ folder.
 
38
 
 
39
 
 
40
CACHES
 
41
------
 
42
 
 
43
To speed up operations with large branches, loggerhead can be configured
 
44
to create three caches per branch when it first launches:
 
45
 
 
46
    - a revision data cache
 
47
    - a cache of files changed in a revision
 
48
    - a text searching cache
 
49
 
 
50
You can put the cache folder anywhere, but I find that a folder under
 
51
the branch's .bzr/ folder is the simplest place.
 
52
 
 
53
The revision data cache and text searching cache will be automatically
 
54
filled once loggerhead starts up.  The caches for a branch with 15,000
 
55
revisions take about four minutes each on a fairly fast machine, but
 
56
mileage may vary.  Once they are built, they update every six hours or
 
57
so but usually finish quickly (or instantly) after the initial creation.
 
58
 
 
59
You may update the bazaar branch at any time (for example, from a cron).
 
60
Loggerhead will notice and refresh, and bazaar uses its own branch
 
61
locking to prevent corruption.
116
62
 
117
63
 
118
64
SUPPORT
119
65
-------
120
66
 
121
 
Loggerhead is loosely based on bazaar-webserve, which was loosely
122
 
based on hgweb.  Discussion should take place on the bazaar-dev
123
 
mailing list at bazaar@lists.canonical.com.  You can join the list at
124
 
<https://lists.ubuntu.com/mailman/listinfo/bazaar>.  You don't need to
125
 
subscribe to post, but your first post will be held briefly for manual
126
 
moderation.
127
 
 
128
 
Bugs are tracked on Launchpad; start at:
129
 
 
130
 
    https://bugs.launchpad.net/loggerhead
 
67
This is loosely based on bazaar-webserve, which was loosely based on hgweb.
 
68
Discussion should take place on the bazaar-dev mailing list.