~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to README.txt

  • Committer: Michael Hudson
  • Date: 2008-06-23 02:23:46 UTC
  • mto: This revision was merged to the branch mainline in revision 171.
  • Revision ID: michael.hudson@canonical.com-20080623022346-z8njyfn6q69or4lo
change serve-branches.py to be easier to document :)

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.6 for Bazaar 1.6 ]
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
10
GETTING STARTED
12
11
---------------
13
12
 
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.
 
13
Loggerhead depends on SimpleTAL for templating and Paste for the
 
14
server.  So you need these installed -- on Ubuntu you want the
 
15
'python-simpletal' and 'python-paste' packages installed.  You need
 
16
version 1.2 or newer of Paste.
 
17
 
 
18
Then simply run the 'serve-branches.py' script of loggerhead from the
 
19
directory containing the branches you want to serve.
 
20
 
 
21
For example:
 
22
 
 
23
    XXX
 
24
 
 
25
USING A CONFIG FILE
 
26
-------------------
 
27
 
 
28
Previous versions of Loggerhead read their configuration from a config
 
29
file.  This mode of operation is still supported by the
 
30
'start-loggerhead.py' script.  A 'loggerhead.conf.example' file is
 
31
included in the source which has comments explaining the various
 
32
options.
 
33
 
 
34
Loggerhead can then be started by running::
 
35
 
 
36
    $ ./start-loggerhead.py
 
37
 
 
38
This will run loggerhead in the background.  It listens on port 8080
 
39
by default, so go to http://localhost:8080/ in your browser to see the
 
40
list of bublished branches.
 
41
 
 
42
To stop Loggerhead, run::
 
43
 
 
44
    $ ./stop-loggerhead.py
 
45
 
 
46
In the configuration file you can configure projects, and branches per
 
47
project.  The idea is that you could be publishing several (possibly
 
48
unrelated) projects through the same loggerhead instance, and several
 
49
branches for the same project.  See the "loggerhead.conf.example" file
 
50
included with the source.
 
51
 
 
52
A debug and access log are stored in the logs/ folder, relative to
 
53
the location of the start-loggerhead.py script.
 
54
 
 
55
You may update the Bazaar branch at any time (for example, from a cron).
40
56
Loggerhead will notice and refresh, and Bazaar uses its own branch
41
57
locking to prevent corruption.
42
58
 
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
59
SERVING LOGGERHEAD FROM BEHIND APACHE
77
60
-------------------------------------
78
61
 
82
65
configuration is one way to do this::
83
66
 
84
67
    <Location "/branches/">
85
 
        ProxyPass http://127.0.0.1:8080/branches/
86
 
        ProxyPassReverse http://127.0.0.1:8080/branches/
 
68
        ProxyPass http://127.0.0.1:8080/
 
69
        ProxyPassReverse http://127.0.0.1:8080/
87
70
    </Location>
88
71
 
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
95
 
------
96
 
 
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.
 
72
 
 
73
 
 
74
FILES CHANGED CACHE
 
75
-------------------
 
76
 
 
77
To speed up the display of the changelog view for large trees,
 
78
loggerhead can be configured to cache the files changes between
 
79
revisions.  Set the 'cachepath' value in the config file.
 
80
 
101
81
 
102
82
SUPPORT
103
83
-------
112
92
Bugs are tracked on Launchpad; start at:
113
93
 
114
94
    https://bugs.launchpad.net/loggerhead
115
 
 
116
 
 
117
 
HACKING
118
 
-------
119
 
 
120
 
To run loggerhead tests, you will need the package python-nose,
121
 
and run in the loggerhead directory:
122
 
 
123
 
    nosetests
124