~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to README.txt

  • Committer: Michael Hudson
  • Date: 2008-03-06 01:59:26 UTC
  • mto: This revision was merged to the branch mainline in revision 149.
  • Revision ID: michael.hudson@canonical.com-20080306015926-ffmx4znpbcaw80lg
1.2.1 administrivia

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
LOGGERHEAD
2
2
==========
3
3
 
4
 
[ Version 1.17 for Bazaar 1.17 ]
 
4
[ Version 1.2 for Bazaar 1.2 ]
5
5
 
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
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
 
5) flup (optional, needed to use FastCGI, SCGI or AJP)
29
 
   On Ubuntu, `sudo apt-get install python-flup`
30
 
   or use `easy_install flup`
31
 
 
32
 
Then simply run the 'serve-branches' with the branch you want to
33
 
serve on the command line:
34
 
 
35
 
    ./serve-branches ~/path/to/branch
36
 
 
37
 
The script listens on port 8080 so head to http://localhost:8080/ in
38
 
your browser to see the branch.  You can also pass a directory that
39
 
contains branches to the script, and it will serve a very simple
40
 
directory listing at other pages.
41
 
 
42
 
You may update the Bazaar branches being viewed at any time.
43
 
Loggerhead will notice and refresh, and Bazaar uses its own branch
44
 
locking to prevent corruption.
45
 
 
46
 
To run loggerhead as a linux daemon:
47
 
1) Copy loggerheadd to /etc/init.d
48
 
2) Edit the file to configure where your loggerhead is installed, and which
49
 
   serve-branches options you would like.
50
 
3) Register the service
51
 
   cd /etc/init.d
52
 
   a) on upstart based systems like Ubuntu run: 
53
 
      update-rc.d loggerheadd defaults
54
 
   b) on Sysvinit based systems like Centos or SuSE run:
55
 
      chkconfig --add loggerheadd
56
 
 
57
 
 
58
 
LOGGERHEAD AS A BAZAAR PLUGIN
59
 
-----------------------------
60
 
 
61
 
This branch contains experimental support for using Loggerhead as a Bazaar
62
 
plugin.  To use it, place the top-level Loggerhead directory (the one
63
 
containing this file) at ``~/.bazaar/plugins/loggerhead``.
64
 
 
65
 
 
66
 
USING A CONFIG FILE
67
 
-------------------
68
 
 
69
 
To hide branches from being displayed, add to ``~/.bazaar/locations.conf``,
70
 
under the branch's section:
71
 
 
72
 
    [/path/to/branch]
73
 
    http_serve = False
74
 
 
75
 
 
76
 
More configuration options to come soon.
77
 
 
78
 
 
79
 
SERVING LOGGERHEAD FROM BEHIND APACHE
80
 
-------------------------------------
 
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
 
13
various options.
 
14
 
 
15
Loggerhead can then be started by running::
 
16
 
 
17
    $ ./start-loggerhead.py
 
18
 
 
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.
 
22
 
 
23
To stop Loggerhead, run::
 
24
 
 
25
    $ ./stop-loggerhead.py
81
26
 
82
27
If you want to view Bazaar branches from your existing Apache
83
28
installation, you'll need to configure Apache to proxy certain
85
30
configuration is one way to do this::
86
31
 
87
32
    <Location "/branches/">
88
 
        ProxyPass http://127.0.0.1:8080/branches/
89
 
        ProxyPassReverse http://127.0.0.1:8080/branches/
 
33
        ProxyPass http://127.0.0.1:8080/
 
34
        ProxyPassReverse http://127.0.0.1:8080/
90
35
    </Location>
91
36
 
92
 
If Paste Deploy is installed, the 'serve-branches' script can be
93
 
run behind a proxy at the root of a site, but if you're running it at
94
 
some path into the site, you'll need to specify is using '--prefix=/some_path'.
95
 
 
96
 
 
97
 
SEARCH
 
37
In the configuration file you can configure projects, and branches per
 
38
project.  The idea is that you could be publishing several (possibly
 
39
unrelated) projects through the same loggerhead instance, and several
 
40
branches for the same project.  See the "loggerhead.conf.example" file
 
41
included with the source.
 
42
 
 
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.
 
46
 
 
47
A debug and access log are stored in the logs/ folder, relative to
 
48
the location of the start-loggerhead.py script.
 
49
 
 
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.
 
53
 
 
54
 
 
55
CACHES
98
56
------
99
57
 
100
 
Search is currently supported by using the bzr-search plugin (available
101
 
at: ``https://launchpad.net/bzr-search``
102
 
You need to have the plugin installed and each branch indexed to allow
103
 
searching on branches.
 
58
To speed up operations with large branches, loggerhead can be configured
 
59
to create three caches per branch when it first launches:
 
60
 
 
61
    - a revision data cache
 
62
    - a cache of files changed in a revision
 
63
    - a text searching cache
 
64
 
 
65
You can put the cache folder anywhere.
 
66
 
 
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.
104
72
 
105
73
 
106
74
SUPPORT
113
81
subscribe to post, but your first post will be held briefly for manual
114
82
moderation.
115
83
 
116
 
Bugs are tracked on Launchpad; start at:
117
 
 
118
 
    https://bugs.launchpad.net/loggerhead
119
 
 
120
 
 
121
 
HACKING
122
 
-------
123
 
 
124
 
To run loggerhead tests, you will need the package python-nose,
125
 
and run in the loggerhead directory:
126
 
 
127
 
    nosetests