~james-w/tarmac/one-at-a-time

« back to all changes in this revision

Viewing changes to docs/introduction.txt

  • Committer: James Westby
  • Date: 2013-01-23 23:19:00 UTC
  • mfrom: (398.2.3 tarmac)
  • Revision ID: james.westby@canonical.com-20130123231900-1x5t4l9fx13kiob2
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
=============
26
26
 
27
27
Tarmac gets it's configuration data from ``~/.config/tarmac/tarmac.conf`` --
28
 
The configuration is split up by projects.  As an example, Tarmac will
29
 
demonstrate its own config throughout this project.  To start with, the Tarmac
30
 
project should be added to the config (with the file being created if it
31
 
doesn't exist already).::
 
28
The configuration is split up by projects.  As an example, a fictional
 
29
`phoo` project will be used.  The config file starts with items that
 
30
apply to the Tarmac command.  Add to the following to the config file,
 
31
creating it if it doesn't exist already).::
32
32
 
33
33
  [Tarmac]
34
 
  # Configuration for the Tarmac project
 
34
  # Configuration for the Tarmac command.
35
35
 
36
36
This doesn't mean much by itself.  Optionally, we can also specify where to
37
37
write the log (by default, it logs to ~/tarmac.log).  A basic log file setting
40
40
  [Tarmac]
41
41
  log_file = /var/log/tarmac.log
42
42
 
43
 
Now let's provide some branches for Tarmac to manage.  How about Tarmac's
 
43
If placing the file in ``/var/log`` be sure the user running
 
44
``tarmac`` has write permission to that file.
 
45
 
 
46
Now let's provide some branches for Tarmac to manage.  How about phoo's
44
47
development focus first?  Specifying this is REALLY easy.  Now my config file
45
48
will look like this::
46
49
 
47
50
  [Tarmac]
48
51
  log_file = /var/log/tarmac.log
49
52
 
50
 
  [lp:tarmac]
 
53
  [lp:phoo]
51
54
 
52
55
That's it!  I specify the branch by it's lp: name, and Tarmac knows that when
53
 
it's instructed to land branches, it should check up on lp:tarmac for approved
 
56
it's instructed to land branches, it should check up on lp:phoo for approved
54
57
merge proposals.  However, this means that Tarmac has to make a new tree of
55
 
lp:tarmac every time it makes a landing run.  This is rather inefficient.  We
 
58
lp:phoo every time it makes a landing run.  This is rather inefficient.  We
56
59
can actually have Tarmac cache a tree, and just update it on every run.  This
57
60
path to the cache tree can be specified by changing the config file to look
58
61
like this::
60
63
  [Tarmac]
61
64
  log_file = /var/log/tarmac.log
62
65
 
63
 
  [lp:tarmac]
64
 
  tree_dir = /var/cache/tarmac
 
66
  [lp:phoo]
 
67
  tree_dir = /var/cache/tarmac/phoo/trunk
65
68
 
66
69
If this directory or tree doesn't exist, Tarmac will go ahead and create it.
67
70
 
71
74
 
72
75
Once Tarmac is all configured, simply run ``tarmac merge``.  Voila!  If there
73
76
are issues at all, you can run ``tarmac merge --debug`` to get more debug
74
 
imformation.
 
77
information.
75
78
 
76
79
==============
77
80
Tarmac on Cron
78
81
==============
79
82
 
80
 
Tarmac runs best on a cron, because it's doing stuff you shouldn't even need to
81
 
worry about.  To make Tarmac run on a cron, add this to your crontab::
 
83
Tarmac runs best on a cron job, because it's doing stuff you shouldn't
 
84
even need to worry about.  To make Tarmac run on a cron, add this to
 
85
your crontab::
82
86
 
83
87
0 * * * * tarmac merge
84
88
 
190
194
CIA.vc Notifier
191
195
===============
192
196
 
193
 
The CIA.vc Notifier can be configured to notify the CIA.vc service of
194
 
successful merges.  Tarmac has already been configured to work with the CIA.vc
195
 
service and is set up to notify those in the #tarmac IRC channel on Freenode.
196
 
This configuration looks like this::
 
197
The CIA.vc Notifier (see ``http://cia.vc``) can be configured to
 
198
notify the CIA.vc service of successful merges.  Tarmac has already
 
199
been configured to work with the CIA.vc service and is set up to
 
200
notify those in the #tarmac IRC channel on Freenode.  This
 
201
configuration looks like this::
197
202
 
198
203
  [lp:tarmac]
199
204
  cia_project = tarmac