log

age author description
Wed, 31 Aug 2005 01:49:59 +0000 cmlenz More changes following the renames in r187/r188.
Wed, 31 Aug 2005 01:34:20 +0000 cmlenz Wasn't such a good idea to move around the `charts_library` folder, so revert that.
Wed, 31 Aug 2005 01:11:04 +0000 cmlenz Add the XML/SWF charts library to the package data.
Wed, 31 Aug 2005 01:00:37 +0000 cmlenz Add some basic charts to the build status page, based on [http://www.maani.us/xml_charts/index.php XML/SWF Charts]:
Wed, 31 Aug 2005 00:46:12 +0000 cmlenz Implement the `gettext()` method of the XML element adapter for BDB XML.
Wed, 31 Aug 2005 00:37:07 +0000 cmlenz Make sure that numbers in text nodes are converted to strings.
Tue, 30 Aug 2005 18:56:14 +0000 cmlenz Fix the BDB XML upgrade procedure: If a document is found that is associated with a non-existing build, just remove it.
Tue, 30 Aug 2005 18:44:55 +0000 cmlenz * Changed the `IReportStore` interface to allow querying with [http://www.w3.org/XML/Query/ XQuery]. This should make it possible to efficiently query the report store for any existing metrics.
Tue, 30 Aug 2005 10:45:29 +0000 cmlenz Show lines of code in 'Code Coverage' summary.
Tue, 30 Aug 2005 10:28:24 +0000 cmlenz More improvements to the `<python:trace>` code coverage report:
Tue, 30 Aug 2005 10:08:28 +0000 cmlenz Allow retrieving the reports for all steps of a given build.
Tue, 30 Aug 2005 09:51:52 +0000 cmlenz Remove the test snippet from {{{bitten.util.loc}}}.
Tue, 30 Aug 2005 09:50:20 +0000 cmlenz For more accurate code coverage reporting, include the statistics for modules that haven't been run at all during the tests. To do this, we need to count the lines of code in those modules. This is done by the `bitten.util.loc` module, which is based on [http://starship.python.net/crew/gherman/playground/pycount/ pycount.py] (but heavily modified).
Sun, 28 Aug 2005 13:11:02 +0000 cmlenz Drop the slave name from the timeline events summary.
Sun, 28 Aug 2005 12:38:36 +0000 cmlenz Fix unit tests broken by [http://projects.edgewall.com/trac/changeset/2132 r2132] in Trac.
Sun, 28 Aug 2005 12:08:44 +0000 cmlenz * Move the `CommandLine` class from `bitten.util.cmdline` to `bitten.build.api`.
Sun, 28 Aug 2005 12:06:45 +0000 cmlenz Don't import the summarizers module explicitly, rather declare the module from the egg's `trac_plugin.txt` file.
Sat, 27 Aug 2005 11:15:59 +0000 cmlenz Adapt to Trac [http://projects.edgewall.com/trac/changeset/2132 r2132].
Sat, 27 Aug 2005 07:58:12 +0000 cmlenz Flip the switch: Bitten is now BSD-licensed.
Sat, 27 Aug 2005 07:32:37 +0000 cmlenz Forgot to add new module in [169].
Sat, 27 Aug 2005 07:28:30 +0000 cmlenz Reports can now be "summarized" on the build results page, with special components rendering summary HTML fragments for specific report types. The summaries are displayed as tabs next to the log of the build step. Currently summarizers for test results and code coverage exist.
Thu, 25 Aug 2005 14:36:51 +0000 cmlenz Don't use ez_setup; it's causing [http://mail.python.org/pipermail/distutils-sig/2005-August/004987.html problems] with setuptools 0.6a1.
Mon, 22 Aug 2005 18:33:12 +0000 cmlenz Fix initialization of ''family'' variable in slave registration.
Mon, 22 Aug 2005 18:30:21 +0000 cmlenz Some fixes to problems with the Posix version of `Commandline.execute()` introduced in [165].
Mon, 22 Aug 2005 18:25:52 +0000 cmlenz Some style/documentation improvements to make Pylint happier.
Mon, 22 Aug 2005 15:44:01 +0000 cmlenz Minor cleanup to tempdir usage in recipe unit tests.
Mon, 22 Aug 2005 15:43:24 +0000 cmlenz Fix return code interpretation on Win32. Closes #38.
Mon, 22 Aug 2005 11:58:10 +0000 cmlenz Improvements to program execution from recipe commands. Also, adds a `<sh:pipe>` command, but that doesn't really work yet (doesn't get input from stdin). Related to #34.
Mon, 22 Aug 2005 11:21:18 +0000 cmlenz * Fix `pythontools` unit tests on windows.
Mon, 22 Aug 2005 08:52:27 +0000 cmlenz Fix global/local ref name conflict introduced in [159].
Mon, 22 Aug 2005 08:30:45 +0000 cmlenz Don't removing pending builds when starting/stopping the master. Just reset in-progress builds so that they become pending.
Sun, 21 Aug 2005 20:56:22 +0000 cmlenz Factored out common program execution logic into <sh:exec> command, which is used by <python:exec>.
Sun, 21 Aug 2005 20:11:49 +0000 cmlenz Another fix to recipe handling by build slave.
Sun, 21 Aug 2005 20:04:33 +0000 cmlenz Fixes to problems in recipe handling introduced in [155].
Sun, 21 Aug 2005 17:49:20 +0000 cmlenz Build recipes are now stored in the database with the build configuration. This means that it is no longer necessary to store the recipe in the repository. Closes #41.
Sat, 20 Aug 2005 20:35:15 +0000 cmlenz Add a `<python:exec>` recipe command so that things like Pylint can be executed without using a Makefile.
Sat, 20 Aug 2005 14:08:59 +0000 cmlenz Support for `--include-ids` option in Pylint. Closes #43.
Sat, 20 Aug 2005 13:29:56 +0000 cmlenz * Make the `<python:unittest>` command strip the base dir from file names in the report. Fixes #42.
Thu, 18 Aug 2005 11:24:32 +0000 cmlenz Added file-system backend for report storage.
Thu, 18 Aug 2005 10:17:14 +0000 cmlenz Remove unused code
Thu, 18 Aug 2005 10:14:21 +0000 cmlenz Refactoring: split up the components and templates that render the web interface.
Thu, 18 Aug 2005 08:53:09 +0000 cmlenz Actually create the snapshots directory when the Bitten plugin is installed. Fixes #39.
Wed, 17 Aug 2005 22:58:52 +0000 cmlenz * Clean up some imports.
Mon, 15 Aug 2005 16:29:50 +0000 cmlenz Add plain XML view of reports.
Mon, 15 Aug 2005 09:33:20 +0000 cmlenz * Add SVN revision to file name of distribution archives.
Mon, 15 Aug 2005 09:33:01 +0000 cmlenz * Exclude `ez_setup.py` from the distribution.
Sat, 13 Aug 2005 10:59:42 +0000 cmlenz Bump up version number. release-0.3
Fri, 12 Aug 2005 23:06:56 +0000 cmlenz Catch XML parse errors in the {{{<python:unittest>}}} command.
Fri, 12 Aug 2005 22:42:55 +0000 cmlenz Fix unit test for {{{<python:unittest>}}} recipe command.
Fri, 12 Aug 2005 19:14:24 +0000 cmlenz Fix unit tests broken in [136] and [138].
Fri, 12 Aug 2005 19:11:16 +0000 cmlenz Fix error handling so that reports are still generated even if a command has failed.
Fri, 12 Aug 2005 17:17:17 +0000 cmlenz Add a {{{--timewarp}}} option to the build master. If provided, the build master will adjust the timestamps of all builds to shortly after the time of the corresponding changeset. This is mostly for building the history of a project while keeping a chronological association between changeset and build.
Fri, 12 Aug 2005 13:27:45 +0000 cmlenz Canonicalize path names so that comparison works. Fixes #37.
Wed, 10 Aug 2005 13:26:01 +0000 cmlenz Add a view of the XML reports stored for a build. This is temporary, and will probably go away as soon as a proper interface to the reports is added.
Wed, 10 Aug 2005 11:51:52 +0000 cmlenz Add option for specifying a [wiki:SlaveConfiguration configuration file] for the build slave. Closes #29.
Wed, 10 Aug 2005 11:44:58 +0000 cmlenz Additional unit test for the {{{bitten.recipe}}} module.
Tue, 09 Aug 2005 18:02:21 +0000 cmlenz * The {{{python:trace>}}} recipe command now transmits coverage statistics to the build master. Closes #33.
Mon, 08 Aug 2005 18:16:23 +0000 cmlenz Fix unit tests broken by changes to the HDF dataset in [130].
Mon, 08 Aug 2005 18:03:49 +0000 cmlenz Template cleanup
Mon, 08 Aug 2005 16:33:12 +0000 cmlenz Only run unit tests for BDB XML backend if it's installed.
Mon, 08 Aug 2005 15:42:03 +0000 cmlenz Fix for the {{{unittest}}} command, which was raising an exception but swallowing the traceback.
Mon, 08 Aug 2005 14:27:20 +0000 cmlenz Show the list of reports generated on the build page.
Mon, 08 Aug 2005 14:24:56 +0000 cmlenz * More logging in master and slave about the build status.
Mon, 08 Aug 2005 08:35:07 +0000 cmlenz * Make the recipe command {{{<python:unittest>}}} transmit the test results to the build master. Closes #32.
Mon, 08 Aug 2005 08:32:26 +0000 cmlenz Delete build steps when cleaning up pending builds.
Sun, 07 Aug 2005 18:12:43 +0000 cmlenz Store report data in BDB XML database. Closes #31.
Sun, 07 Aug 2005 10:03:56 +0000 cmlenz Add support for XML fragments to the {{{xmlio}}} module, so that build output and reports don't need to be nested in a meaningless element (such as {{{<log type="distutils"><messages><message ...>}}}).
Sun, 07 Aug 2005 09:03:16 +0000 cmlenz Paths to files and directories in the build log output are rendered as links to the repository browser.
Thu, 04 Aug 2005 20:20:10 +0000 cmlenz Remove debugging output
Thu, 04 Aug 2005 20:15:39 +0000 cmlenz * Store build logs in a structured way, for example to highlight messages on the error stream.
Thu, 04 Aug 2005 13:21:08 +0000 cmlenz Don't just bail on the build configuration page if an invalid repository path is configured.
Wed, 03 Aug 2005 12:00:06 +0000 cmlenz Remove bad import
Wed, 03 Aug 2005 11:54:34 +0000 cmlenz Transmit build log and generated data back to the build master in XML format. Closes #23.
Wed, 03 Aug 2005 11:52:39 +0000 cmlenz {{{super()}}} only works for new-style classes, which {{{asyncore.dispatcher}}} is not.
Sun, 31 Jul 2005 10:28:44 +0000 cmlenz * Improved error reporting by using exceptions.
Sun, 31 Jul 2005 10:22:29 +0000 cmlenz More unit tests for the model objects.
Wed, 20 Jul 2005 17:13:45 +0000 cmlenz * Make the {{{unittest}}} command raise an exception if the tests failed, so that distutils exits with a non-zero return code.
Wed, 20 Jul 2005 15:22:23 +0000 cmlenz The `.bat` files don't work when installed using setuptools, so get rid of them.
Wed, 20 Jul 2005 13:23:05 +0000 cmlenz * Strip extra line separators from recipe command output on windows. Closes #25.
Wed, 20 Jul 2005 09:19:49 +0000 cmlenz Use external {{{ez_setup}}} script.
Tue, 19 Jul 2005 08:05:25 +0000 cmlenz More fixes following [http://projects.edgewall.com/trac/changeset/1995 Trac r1995], plus fixes for PySQLite 2 compatibility.
Tue, 19 Jul 2005 07:23:32 +0000 cmlenz Adapt table creation to Trac [http://projects.edgewall.com/trac/changeset/1995 r1995].
Mon, 18 Jul 2005 17:35:21 +0000 cmlenz Make Bitten deployable in Trac as a [http://peak.telecommunity.com/DevCenter/PythonEggs Python egg].
Sun, 17 Jul 2005 21:24:57 +0000 cmlenz Use {{{in req.args}}} instead of {{{in req.args.keys()}}}.
Sun, 17 Jul 2005 21:24:15 +0000 cmlenz Mark build configuration as existing when retrieved using {{{select()}}}.
Sun, 17 Jul 2005 20:14:43 +0000 cmlenz Change model class pattern:
Fri, 15 Jul 2005 16:07:11 +0000 cmlenz Make the repository poll interval configurable. It now defaults to 2 minutes instead of 10 seconds.
Fri, 15 Jul 2005 14:11:29 +0000 cmlenz Cleanup and records when a build is aborted.
Fri, 15 Jul 2005 13:59:54 +0000 cmlenz Improved logging; the build master can now optionally log to a file. Closes #13.
Thu, 14 Jul 2005 21:56:17 +0000 cmlenz Delete snapshots for builds that have been completed by all configured target platforms, and are thus no longer needed. Closes #20.
Thu, 14 Jul 2005 21:38:46 +0000 cmlenz Fix status display for in-progress builds.
Thu, 14 Jul 2005 17:10:44 +0000 cmlenz The build master now transmits snapshot archives without blocking while reading the file and sending the BEEP frames. Closes #17.
Thu, 14 Jul 2005 15:10:30 +0000 cmlenz Changed BEEP frame sending mechanism to use the `push_with_producer()` function provided by `asynchat`. In preparation for #17.
Thu, 14 Jul 2005 14:20:42 +0000 cmlenz Some refactoring of the BEEP implementation:
Sun, 10 Jul 2005 20:51:42 +0000 cmlenz Update orchestration profile DTD to current state of implementation.
Sun, 10 Jul 2005 20:44:05 +0000 cmlenz Slaves were getting associated with the wrong target platform.
Fri, 08 Jul 2005 18:21:59 +0000 cmlenz Fix matching of slave properties against target platform rules.
Fri, 08 Jul 2005 18:05:20 +0000 cmlenz Fix var name in slave registration.
Fri, 08 Jul 2005 17:02:28 +0000 cmlenz Perform slave/platform matching at slave registration. Use builtin {{{set}}} type on Python >= 2.4.
Fri, 08 Jul 2005 10:54:19 +0000 cmlenz Include timing information in the build messages transmitted from slave to master for better accuracy.
Wed, 06 Jul 2005 19:52:40 +0000 cmlenz Fix error when running from an installed instance where the {{{htdocs_dir}}} and/or {{{templates_dir}}} options aren't set.
Wed, 06 Jul 2005 19:44:10 +0000 cmlenz Record the output of build steps in the database. See #12. Still need to get better granularity in transmitting the log output from slave to master before #12 can be closed.
Wed, 06 Jul 2005 13:18:17 +0000 cmlenz * Use default locations when {{{htdocs_dir}}} and {{{templates_dir}}} isn't configured in {{{trac.ini}}}.
Wed, 06 Jul 2005 13:17:13 +0000 cmlenz Include {{{templates}}} and {{{htdocs}}} dir in dist/install.
Wed, 06 Jul 2005 11:32:41 +0000 cmlenz On windows, switch to the requested directory before executing a recipe command.
Tue, 05 Jul 2005 17:52:15 +0000 cmlenz * Implement basic slave selection based on configured target platforms. Closes #15.
Tue, 05 Jul 2005 17:50:54 +0000 cmlenz Fix initialization of database tables.
Tue, 05 Jul 2005 11:12:17 +0000 cmlenz Add template and static resources, hooked up using the new {{{ITemplateProvider}}} extension point in Trac.
Sun, 03 Jul 2005 21:11:59 +0000 cmlenz Implemented basic management of target platforms. Closes #14.
Fri, 01 Jul 2005 11:09:12 +0000 cmlenz Allow individual steps of a recipe to be marked as optional, i.e. that an error in such a step should not mean that the build failed.
Fri, 01 Jul 2005 10:29:38 +0000 cmlenz Fix invalid ref in {{{SlaveInfo}}} model.
Fri, 01 Jul 2005 10:28:46 +0000 cmlenz Updated DTD for orchestration profile.
Thu, 30 Jun 2005 18:27:12 +0000 cmlenz Record build slave properties in database.
Thu, 30 Jun 2005 12:28:54 +0000 cmlenz Fixes for Windows compatibility:
Tue, 28 Jun 2005 23:24:31 +0000 cmlenz Fix error in timeline when builds are in progress.
Tue, 28 Jun 2005 23:15:55 +0000 cmlenz Use the standard {{{platform}}} module for reporting of system info by slaves. Closes #6.
Tue, 28 Jun 2005 20:57:31 +0000 cmlenz Produce different kinds of events in the {{{ITimelineEventProvider}}} implementation, depending on whether the build failed or succeeded; for future use when Bitten provides its own CSS style sheet and images.
Tue, 28 Jun 2005 16:17:25 +0000 cmlenz Basic timeline provider for builds.
Tue, 28 Jun 2005 13:53:27 +0000 cmlenz * Allow specifying a different name for a build slave (default is the host name).
Tue, 28 Jun 2005 13:51:49 +0000 cmlenz Fixes to the BEEP implementation:
Tue, 28 Jun 2005 10:47:07 +0000 cmlenz Moved {{{BuildError}}} class into package {{{bitten.build}}}.
Mon, 27 Jun 2005 21:50:58 +0000 cmlenz * Pass a {{{Context}}} object to recipe commands as the first argument. Currently this only has the basedir, but will be extended to also provide output recording etc.
Mon, 27 Jun 2005 21:39:20 +0000 cmlenz Adapted model unit tests to addition of {{{rev_time}}} field in [61].
Mon, 27 Jun 2005 21:34:15 +0000 cmlenz Fix splitting of output into text lines in {{{bitten.util.cmdline}}}.
Mon, 27 Jun 2005 11:19:54 +0000 cmlenz Added simple helper class for executing commandline programs.
Sun, 26 Jun 2005 17:34:27 +0000 cmlenz Build slave now executes the build. Closes #10.
Sun, 26 Jun 2005 17:33:29 +0000 cmlenz Adjust recipe module to changes to xmlio in [56].
Sun, 26 Jun 2005 17:31:30 +0000 cmlenz Exclude attributes with a value of {{{None}}}.
Sun, 26 Jun 2005 17:31:09 +0000 cmlenz Pass answer number to reply handlers
Sun, 26 Jun 2005 16:07:19 +0000 cmlenz Recipe root element is {{{<build>}}} instead of {{{recipe}}}.
Sun, 26 Jun 2005 16:06:30 +0000 cmlenz Proper archive format negotiation; improved representation of parsed XML content in {{{bitten.util.xmlio}}}.
Sun, 26 Jun 2005 12:15:47 +0000 cmlenz Restrict access to web interface with custom permission actions.
Fri, 24 Jun 2005 17:26:47 +0000 cmlenz Build slave now also handles snapshot archives in bzip2 and zip format.
Fri, 24 Jun 2005 17:13:07 +0000 cmlenz * Simplify code for making snapshot archives.
Fri, 24 Jun 2005 15:35:23 +0000 cmlenz * Improvements to the model classes, and a couple of unit tests.
Fri, 24 Jun 2005 15:24:17 +0000 cmlenz Use a set instead of a dictionary for keeping track of message numbers.
Thu, 23 Jun 2005 22:47:45 +0000 cmlenz Renamed {{{Configuration}}} to {{{BuildConfig}}}.
Thu, 23 Jun 2005 22:39:37 +0000 cmlenz Remove obsolete package from setup.py.
Thu, 23 Jun 2005 20:38:48 +0000 cmlenz Fix typo in build slave.
Thu, 23 Jun 2005 20:35:54 +0000 cmlenz Basic infrastructure for transmission of snapshot archives to build slaves. See #8.
Thu, 23 Jun 2005 20:33:47 +0000 cmlenz Add web interface for viewing and managing build configurations. Closes #9.
Thu, 23 Jun 2005 20:32:31 +0000 cmlenz Fix directory structure in snapshot archives; allow prefix to be specified.
Thu, 23 Jun 2005 20:31:03 +0000 cmlenz Add support for the {{{Content-Disposition}}} and {{{Content-Transfer-Encoding}}} MIME headers.
Wed, 22 Jun 2005 21:55:13 +0000 cmlenz * Rename 'tarballs' directory to 'snapshots'.
Wed, 22 Jun 2005 16:32:36 +0000 cmlenz Add a simple utility module for creating snapshot archives of a repository.
Wed, 22 Jun 2005 13:36:03 +0000 cmlenz Add new packages to {{{setup.py}}}.
Wed, 22 Jun 2005 13:32:46 +0000 cmlenz Some stubbed out code for the Bitten/Trac-integration. This creates a {{{bitten_build}}} table on database upgrade after the plugin is enabled.
Tue, 21 Jun 2005 13:38:31 +0000 cmlenz The build master now gracefully exits by first terminating all active sessions. Fixes #7.
Tue, 21 Jun 2005 08:53:43 +0000 cmlenz Exit the slave script when the master disconnects; and other minor fixes.
Sun, 19 Jun 2005 23:28:35 +0000 cmlenz Remove unused imports.
Sun, 19 Jun 2005 23:26:08 +0000 cmlenz Add thin script shells around master and slave.
Sun, 19 Jun 2005 22:56:10 +0000 cmlenz Initial version of the DTD for the orchestration profile. Closes #5.
Sun, 19 Jun 2005 22:42:53 +0000 cmlenz Some cleanup and additional docstrings.
Sun, 19 Jun 2005 15:36:51 +0000 cmlenz More management profile unit tests. Closes #2.
Sun, 19 Jun 2005 14:23:33 +0000 cmlenz Added a couple of unit tests for the BEEP management profile. See #2. More to come.
Sun, 19 Jun 2005 14:21:20 +0000 cmlenz Remove reference to package removed in [25].
Fri, 17 Jun 2005 15:37:45 +0000 cmlenz Adapt unit tests to changes in [27].
Fri, 17 Jun 2005 15:35:48 +0000 cmlenz * Proper separation between {{{beep.ProfileHandler}}} instances between different channels.
Fri, 17 Jun 2005 13:55:13 +0000 cmlenz Basic TCP mapping and message fragmenting support. See #1.
Fri, 17 Jun 2005 12:15:16 +0000 cmlenz Moved test runner into {{{bitten.util}}}} package.
Fri, 17 Jun 2005 12:10:58 +0000 cmlenz Cleanup package namespace a bit.
Fri, 17 Jun 2005 11:45:16 +0000 cmlenz Remove dependency of distutils unittest command on ElementTree -- use {{{bitten.util.xmlio}}} instead.
Fri, 17 Jun 2005 11:23:22 +0000 cmlenz Proper {{{optparse}}}-based command-line interface for master and slave.
Fri, 17 Jun 2005 09:09:07 +0000 cmlenz * {{{beep.Listener}}} now has an event loop (based on code mostly from medusa)
Fri, 17 Jun 2005 09:07:06 +0000 cmlenz {{{bitten.distutils}}} renamed to {{{bitten.setuptools}}}.
Fri, 17 Jun 2005 09:06:16 +0000 cmlenz Renamed {{{distutils}}} package to {{{setuptools}}} to avoid conflict with the real {{{distutils}}} package.
Thu, 16 Jun 2005 23:04:12 +0000 cmlenz * Use logging in the BEEP core as well as in the master and slave scripts. Closes #4.
Thu, 16 Jun 2005 20:37:38 +0000 cmlenz Refactored the asyncore loop and shutdown procedure into {{{beep.Initiator}}}.
Thu, 16 Jun 2005 14:49:51 +0000 cmlenz Initial code for build master and slave... these don't do a lot yet.
Mon, 13 Jun 2005 12:38:05 +0000 cmlenz Added unit tests for frame sequence numbers.
Mon, 13 Jun 2005 09:27:04 +0000 cmlenz Improved BEEP implementation.
Fri, 10 Jun 2005 20:21:10 +0000 cmlenz Improved the BEEP protocol implementation:
Fri, 10 Jun 2005 20:10:03 +0000 cmlenz Add way to get text of parsed elements to {{{bitten.util.xmlio}}}.
Thu, 09 Jun 2005 22:20:35 +0000 cmlenz Slightly improved implementation of the python tools.
Thu, 09 Jun 2005 22:19:53 +0000 cmlenz Initial draft of a minimal [http://www.beepcore.org/ BEEP] protocol implementation for communication between the build master and build slaves.
Mon, 06 Jun 2005 19:12:15 +0000 cmlenz Fix package list in {{{setup.py}}}.
Mon, 06 Jun 2005 15:56:51 +0000 cmlenz Added GPL boilerplate.
Mon, 06 Jun 2005 15:54:29 +0000 cmlenz Simplify the recipe commands interface:
Sun, 22 May 2005 23:12:16 +0000 cmlenz Some cleanup to the recipe commands and reporters.
Sun, 22 May 2005 20:11:22 +0000 cmlenz Generate coverage data in the distutils {{{unittest}}} command.
Sun, 22 May 2005 16:19:04 +0000 cmlenz Fix running the unit tests from distutils.
Sun, 22 May 2005 15:49:22 +0000 cmlenz Import initial ''bitten'' source.
Copyright (C) 2012-2017 Edgewall Software