~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to README

  • Committer: Matt Nordhoff
  • Date: 2009-06-24 00:59:24 UTC
  • Revision ID: mnordhoff@mattnordhoff.com-20090624005924-cu23d37ssawzodto
Remove Revision.get_apparent_author() compatibility code for bzr < 1.13

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
LOGGERHEAD
2
2
==========
3
3
 
4
 
[ version 1.2 for bazaar 1.2 ]
 
4
[ Version 1.10 for Bazaar 1.6 ]
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
 
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::
 
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
To hide branches from being displayed, add to ``~/.bazaar/locations.conf``,
 
67
under the branch's section:
 
68
 
 
69
    [/path/to/branch]
 
70
    http_serve = False
 
71
 
 
72
 
 
73
More configuration options to come soon.
 
74
 
 
75
 
 
76
SERVING LOGGERHEAD FROM BEHIND APACHE
 
77
-------------------------------------
 
78
 
 
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::
21
83
 
22
84
    <Location "/branches/">
23
 
        ProxyPass http://127.0.0.1:8080/
24
 
        ProxyPassReverse http://127.0.0.1:8080/
 
85
        ProxyPass http://127.0.0.1:8080/branches/
 
86
        ProxyPassReverse http://127.0.0.1:8080/branches/
25
87
    </Location>
26
88
 
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
 
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'.
 
92
 
 
93
 
 
94
SEARCH
41
95
------
42
96
 
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.
62
 
 
 
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.
63
101
 
64
102
SUPPORT
65
103
-------
66
104
 
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.
 
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
 
110
moderation.
 
111
 
 
112
Bugs are tracked on Launchpad; start at:
 
113
 
 
114
    https://bugs.launchpad.net/loggerhead