I'd be very interested to hear how you do that, and how it integrates into
trac, if you'd like to write it up.

It's quite rudimentary, but works well for our needs. Beside the
default 'fixes', 'closes' and other keywords from the default commit
scripts, I've added a bunch of new keywords:

* "Creates" when a new developer branch is created, from the current trunk head
* "Terminates" when a developer branch is destroyed
* "Renames" when a branch is .. renamed ;-)
* "Delivers [x]:[y]" when a developer delivers (i.e. merges) the
changes from his branch, from revision x to revision y (usually to the
trunk, but the destination 'branch' is not hardcoded)
* "Brings [x]" when a developer updates (merges) his branch with
another branch in revision x
* "Admins" to perform other administrative tasks

The pre- and post- commit scripts perform various validity checks to
prevent developers from using the wrong keyword and/or the wrong
revisions.
Track change are based on branches (i.e. a 'merge' operation is only
from one branch to another, it does not offer the finer granularity)

You can have a look at the script from
http://trac-hacks.org/wiki/SvnCcHelpersScript.

The scripts need a lot of rework, as the code could be factored (pre-
and post- hooks share some common code). I do not use the 'svnlook'
command anymore, as all the info can be accessed from Python. The
factored code is stored in repproxy.py - which also needs a serious
rework.

The scripts as they appear on trac-hacks.org are really in pre-alpha
stage: they have been originally written for our very specific needs,
and it's quite hard to make them generic enough, moving custom
properties out of the scripts for example. In other words, do not
expect to use them as-is, they can be used as a base for your own
needs, not much more ;-)

Moreover, the scripts do more than tracking the changes, they are also
use to manage some svn properties that allow to keep the repository in
sync with a ClearCase server, and with the help of the Revtree plugin,
developers can get a graphical representation of the repository
(http://trac-hacks.org/wiki/SvnCcHelpersScript/RevTree)

I need more^n time to clean up the scripts, write documentation and so on...

Cheers,
Manu
_______________________________________________
Trac mailing list
[email protected]
http://lists.edgewall.com/mailman/listinfo/trac

Reply via email to