A Trac interface to the Smalltalk STORE version control system.
Python Smalltalk
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
strac
test
.gitignore
COPYING
README
__init__.py
runtests.py
setup.py

README

Copyright (C) 2009 Ashley J. Wilson
This software is licensed as described in the file COPYING in the root
directory of this distribution.

# What is Strac?

"Strac" is a Trac plugin that interfaces with VisualWorks Smalltalk's STORE
version control system.  It works by querying the STORE database directly,
then doing a certain amount of source formatting.

# Installation

First, make sure you have the following prerequisites installed:

 * PyGreSQL, the python PostgreSQL API.  Specifically, Strac uses the
   "pgdb" module.  Download the version for your OS and architecture
   here: http://www.pygresql.org/readme.html

Download the latest .egg file from the Github download page at:
http://github.com/smashwilson/strac/downloads

Log in to Trac as an administrator, and upload the .egg file in the
"plugins" section of the "admin" tab.

# Configuration

You'll need to edit your trac.ini file to point Trac to your STORE
database.

First, change the "repository_type" and "repository_dir" to activate
the "browse source" tab.  The value of the "repository_dir" setting is
ignored, but it must be non-empty for Trac to attempt to load any
version control plugins.

[trac]
repository_dir = .
repository_type = store

Now add a [strac] section to specify the database connection string
and repository masks.  The format of the connection string (as
specified by pgdb) is host:database:user:password:opt:tty, with all
parts optional.  Note that Strac does not currently support actual
authentication.  The root_ settings specify prefixes that limit which
packages and bundles appear: both settings accept comma-separated values
or the special string ALL.

[strac]
store_database_connection = localhost:store:strac:foo
root_store_bundles = MyProject
root_store_packages = MyProject-

Restart tracd (or apache) and all should be well.

# Compatibility

Strac in its present state supports:

 * Trac 0.11
 * STORE repositories from VisualWorks 7.6
 * using the PostgreSQL database as a backend.

Support for other databases is forthcoming.

# Capabilities

Strac implements all functionality required by the "Browse Source" tab in
Trac.  It allows you to browse classes, methods, namespaces, class
extensions, and shared variable definitions, all rendered in wiki format.

It does not yet support viewing version to version diffs, package blessings
and blessing comments, or revision histories.  No STORE commit will appear in
the timeline.

Also, it may or may not have a fairly serious bug about not releasing database
connections properly.  In other words, the "use at your own risk" disclaimer
applies unusually strongly here.