Version 7 (modified by 17 years ago) (diff) | ,
---|
Using a Subversion commit hook To Interact With TimingAndEstimationPlugin
DOWNLOAD
This plugin's version of the post-commit-hook
Note: This information was taken from http://trac.edgewall.org/wiki/TimeTracking#UsingaSubversioncommithookoptional and modified to show how it works with this plugin.
Description
The contrib/trac-post-commit-hook
script is a very convenient tool to interact with Trac's ticket system on commit. It allows to modify time tracking values and ticket state through special commit messages.
- Copy
trac-post-commit-hook
into /usr/share/trac/contrib. - Create a script
hooks/post-commit
in your Subversion repository with the content below (modify TRAC_ENV to point to your local Trac project). - Set the executable bit:
chmod 755 hooks/post-commit
.
REPOS="$1" REV="$2" LOG=`svnlook log -r $REV $REPOS` AUTHOR=`svnlook author -r $REV $REPOS` TRAC_ENV='/var/trac/test' /usr/bin/python /usr/share/trac/contrib/trac-post-commit-hook \ -p "$TRAC_ENV" \ -r "$REV" \ -u "$AUTHOR" \ -m "$LOG"
You can now use special keywords in your commit message to modify Trac tickets. The available commands are:
refs #id | Adds a reference to the ticket's Changelog |
re #id | Adds a reference to the ticket's Changelog |
closes #id | Closes the ticket |
fixes #id | Closes the ticket |
The time spent is specified in parenthesis. :
ex. re #853 (1) adds one hour to the ticket 853
See contrib/trac-post-commit-hook
for details (after applying the patch).
Examples:
svn commit -m 'closes #1 (1), refs #2 (.5) Added time tracking'
This closes ticket #1, increases the time spent by 1 hour. It adds an entry to the Changelog of ticket #2, increases the time spent by .5 hours.
Gotchas
The script is pretty picky about what input it accepts. I would suggest entering all of the commit hook commands on separate lines at the beginning of the message for best results.