Changes between Version 3 and Version 4 of TracMonotone


Ignore:
Timestamp:
Mar 18, 2015, 10:17:45 AM (9 years ago)
Author:
figaro
Comment:

Cosmetic changes

Legend:

Unmodified
Added
Removed
Modified
  • TracMonotone

    v3 v4  
    1 = Monotone VCS backend plugin =
     1[[PageOutline(2-5,Contents,pullout)]]
    22
    3 This plugin allows one to use [http://www.monotone.ca/ Monotone] as the VCS system in Trac. It is located here [http://tracmtn.1erlei.de/ here].
     3= Monotone VCS backend plugin
     4
     5See also: http://wiki.monotone.ca/InterfacesFrontendsAndTools/
     6
     7This plugin allows one to use [http://www.monotone.ca/ Monotone] as the VCS system in Trac. It is located here [http://tracmtn.1erlei.de/ here], from which this page is largely copied.
     8
     9!TracMonotone is a plugin for Trac that allows a Trac project to use a Monotone instead of a Subversion repository. The plugin enables you to browse your project's sourcecode, view changesets, etc., like in any other Trac project. Revisions can be linked to from wiki pages, tickets, and any other place that contains wiki text, e.g. commit messages, and they can be specified either using their hex-id, or via a tag or branch name, and later via Monotone selectors, too.
     10
     11== Warning
     12
     13The plugin is currently neither stable nor optimized for high performance. Some things work, others don't.
     14
     15However, your feedback is welcome!
     16
     17== Prerequisites
     18
     19 * A recent Monotone binary. 0.31 (or later) is recommended, because it has some important improvements for the 'automate stdio' subcommand used by !TracMonotone.
     20 * Python 2.4.
     21 * An installation of Trac. You can either use 0.10.X or 0.11rc1.
     22 * Python setuptools >= 0.6.
     23 * The Python Bindings for BerkeleyDB (pyBSDdb), if you want to use the plugin together with mod_python. These bindings may or may not
     24   be part of your Python installation.
     25
     26== Download
     27
     28There are no releases yet. !TracMonotone is hosted in the `net.venge.monotone.trac-plugin` branch on `monotone.ca`.
     29
     30You can checkout the latest version using this command:
     31{{{
     32mtn clone -b net.venge.monotone.trac-plugin monotone.ca tracmtn
     33}}}
     34
     35== Installation
     36
     37 * Create a Python egg: run {{{python ./setup.py bdist_egg}}} in the plugin's toplevel dir.
     38 * Put the generated egg into the plugins directory of your project.
     39 * Add `repository_type = mtn` and `repository_dir = path_to_mtn_db` options to the `[trac]` section of the conf/trac.ini file of your project.
     40 * Enable the plugin by adding the option `tracmtn.* = enabled` to the `[components]` section of the conf/trac.ini file.
     41 * (Re-)start the webserver or tracd.
     42
     43== Configuration
     44
     45All configuration options have to be placed in the `[mtn]` section of the `conf/trac.ini` file.
     46
     47 * The full path to the Monotone binary can be specified using the `mtn_binary` option.
     48 * A caching method for Monotone manifests, certs, changesets, etc. can be specified using the `cachespec` option. The format is:
     49   `cachespec = backend[:option1[:option2[...]]]`
     50   Currently these backends are provided:
     51   * `localmem`: (default) uses local memory for caching. Takes no options.
     52   * `dbmshelve:prefix`: Persistent, uses Unix DBM databases named `prefix*.{pag|dir}`. All directories in prefix must exist. Not suited for concurrent access by more than one process.
     53   * `bsddb:dir:prefix`: Uses the bsddb3 binding to a persistent BerkeleyDB database. The directory 'dir' must be writable by trac.
     54
     55== Selecting the Caching Method
     56
     57For better performance you should use a disk-based caching method. If you run a standalone version of Trac (tracd), you can either use 'dbmshelve' or 'bssdb'. If you use Trac via mod_python, you *must* use 'bsddb', because the 'dbmshelve' method doesn't support concurrent access by multiple processes.
     58
     59It is not recommended to use the 'localmem' method other than for testing purposes, because it keeps all entries in memory until the server process is restarted.
     60
     61== Known Problems/Missing Features
     62
     63 * Security: The monotone select functionality is exposed. Only Monotone binaries prior to version 0.27 are susceptible to SQL injections.
     64 * Locking: Monotone currently does not support simultaneous access to the database via netsync and automate. There are various ideas how to overcome this situation, none of which has been fully implemented yet.
     65 * Memory leak when using the bsddb caching method, see #6.
     66 * Revisions are almost always printed as complete 40-char string.
     67 * The changeset displays doesn't show attr changes.
     68 * Log on a per-file basis is missing.
     69 * The lifetime for cached data should be adjustable.
     70 * Support for trac-admin is missing. (?)
     71
     72== Author
     73
     74Thomas Moschny (thomas DOT moschny AT gmx.de)
     75
     76== Licence
     77
     78GPL, see [source:COPYING].