Mercurial > bitten > bitten-test
annotate README.txt @ 375:79262e20b073
Protect the main beep loop from exceptions-- either problems in callbacks or errors in the asyncore handlers, which can stop the scheduled events from getting run. Also move over to using the asyncore.loop function over the poll function-- using poll as we were seeing use_poll=False (the default) hang forever, making scheduled events not get run.
author | wbell |
---|---|
date | Mon, 23 Jul 2007 22:03:07 +0000 |
parents | f116a5068e4e |
children | 05c684ceb8c6 |
rev | line source |
---|---|
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
1 About Bitten |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
2 ============ |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
3 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
4 Bitten is a simple distributed continuous integration system that not only |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
5 coordinates builds across multiple machines, but also collects software |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
6 metrics generated by builds, to enable feedback and reporting about |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
7 the progress of a software project. |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
8 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
9 The Bitten software consists of three separate parts: |
319 | 10 * The build slave, which executes builds on behalf of a local or remote |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
11 build master |
319 | 12 * The build master, which orchestrates builds for a project across all |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
13 connected slaves, and stores the build status and results to the |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
14 database |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
15 * The web interface, which is implemented as an add-on to Trac |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
16 (http://trac.edgewall.com/) and provides a build management interface |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
17 as well as presentation of build results. |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
18 |
319 | 19 Both the build master and the web interface depend on Trac 0.9, and need |
20 to be installed on the same machine, together with the Subversion | |
21 repository. The build slave only requires Python (>= 2.3), setuptools | |
22 (>= 0.6a2), as well as any tools required by the build process itself. A | |
23 build slave may be run on any machine that can connect to the server | |
24 running the Bitten build master. | |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
25 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
26 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
27 Installation |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
28 ------------ |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
29 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
30 Bitten is written in Python, so make sure that you have Python installed. |
190 | 31 You'll need Python 2.3 or later. Also, make sure that setuptools |
207
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
32 (http://peak.telecommunity.com/DevCenter/setuptools), version 0.6a2 or later, |
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
33 is installed. |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
34 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
35 If that's taken care of, you just need to download and unpack the Bitten |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
36 distribution, and execute the command: |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
37 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
38 $ python setup.py install |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
39 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
40 from the top of the directory where you unpacked (or checked out) the Bitten |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
41 code. Note that you may need administrator/root privileges for this step, as |
319 | 42 it will by default attempt to install Bitten to the Python site-packages |
43 directory on your system. | |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
44 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
45 It's also a good idea to run the unit tests at this point, to make sure that |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
46 the code works as expected on your platform: |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
47 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
48 $ python setup.py test |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
49 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
50 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
51 What's left to do now depends on whether you want to use the build master and |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
52 web interface, or just the build slave. In the latter case, you're already |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
53 done. You might need to install software that the build of your project |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
54 requires, but the Bitten build slave itself doesn't require anything extra. |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
55 |
330
f116a5068e4e
Update README to reflect that Trac 0.9.3 is now required.
cmlenz
parents:
319
diff
changeset
|
56 For the build master and web interface, you'll need to install Trac 0.9.3 or |
f116a5068e4e
Update README to reflect that Trac 0.9.3 is now required.
cmlenz
parents:
319
diff
changeset
|
57 later. Please refer to the Trac documentation for information on how it is |
f116a5068e4e
Update README to reflect that Trac 0.9.3 is now required.
cmlenz
parents:
319
diff
changeset
|
58 installed. |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
59 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
60 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
61 Build Master Configuration |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
62 -------------------------- |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
63 |
207
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
64 Once both Bitten and Trac are installed and working, you'll have to introduce |
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
65 Bitten to your Trac project environment. If you don't have a Trac project |
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
66 set up yet, you'll need to do so in order to use Bitten. |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
67 |
319 | 68 If you already have a Trac project environment, the Bitten plugin needs to be |
69 explicitly enabled in the Trac configuration. This is done by adding it to the | |
70 [components] section in /path/to/projenv/conf/trac.ini: | |
71 | |
72 [components] | |
73 bitten.* = enabled | |
74 | |
75 The Trac web interface should now inform you with an error message that the | |
76 environment needs to be upgraded. To do this, run: | |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
77 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
78 $ trac-admin /path/to/projenv upgrade |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
79 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
80 This will create the database tables and directories that Bitten requires. |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
81 You probably also want to grant permissions to someone (such as yourself) |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
82 to manage build configurations, and allow anonymous users to view the |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
83 status and results of builds: |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
84 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
85 $ trac-admin /path/to/projenv permission add anonymous BUILD_VIEW |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
86 $ trac-admin /path/to/projenv permission add [yourname] BUILD_ADMIN |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
87 |
319 | 88 You should now see an additional tab labeled "Build Status" in the Trac |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
89 navigation bar. This link will take you to the list of build configurations, |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
90 which at this point is of course empty. If you've set up permissions |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
91 correctly as described previously, you should see a button for adding new |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
92 build configurations. Click that button and fill out the form. Also, add |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
93 at least one target platform after saving the configuration. Last but not |
190 | 94 least, you'll have to "activate" the build configuration. |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
95 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
96 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
97 Running the Build Master |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
98 ------------------------ |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
99 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
100 At this point, you're ready to start the Bitten build master. The |
207
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
101 installation of Bitten should have put a `bitten-master` executable on your |
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
102 path. If the script is not on your path, look for it in the `bin` or |
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
103 `scripts` subdirectory of your Python installation. |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
104 |
207
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
105 To find out about the options and arguments of the master, execute it with |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
106 the `--help` option as follows: |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
107 |
207
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
108 $ bitten-master --help |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
109 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
110 Most commonly, you'll want to specify the log level and log file, as well as |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
111 the path to the Trac environment: |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
112 |
207
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
113 $ bitten-master --verbose --log=/var/log/bittend /var/trac/myproject |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
114 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
115 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
116 Running the Build Slave |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
117 ----------------------- |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
118 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
119 The build slave can be run on any machine that can connect to the machine |
207
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
120 on which the build master is running. Just as with the build master, you |
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
121 should find the build slave executable on your path after the installation. |
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
122 The executable file is called `bitten-slave`. |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
123 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
124 To get a list of options for the build slave, execute it with the `--help` |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
125 option: |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
126 |
207
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
127 $ bitten-slave --help |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
128 |
267 | 129 To run the build slave against a master installed on myproject.example.org, |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
130 you'd run: |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
131 |
207
0a7d06e3f0fd
Remove the wrapper scripts (now taken care of by setuptools/easy_install) and update the docs to reflect the name change.
cmlenz
parents:
190
diff
changeset
|
132 $ bitten-slave myproject.example.org |
189
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
133 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
134 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
135 More Information |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
136 ---------------- |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
137 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
138 For further documentation, please see the Bitten website at: |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
139 |
2f0b36b313cc
Added [source:trunk/README.txt README.txt] to explain installation, configuration and usage of Bitten. Closes #36.
cmlenz
parents:
diff
changeset
|
140 <http://bitten.cmlenz.net/> |