2 minute read

This is part 2 of setting up a Linux Development Server like I have done. Recently I wrote a post on setting up a Linux Server to use in development environments which you can read here. This time I would like to highlight a few of the changes that I have made to Trac to add additional functionality to it. Most of these settings can be changed through the Trac Admin page, especially the Plugin part, which is accessed from being logged in, and then Admin->Plugins. Mine looks like the following.

You can install plugins from the right-hand form on this page, and manage installed plugins from the center section.

SVN Hooks

SVN hooks allow you to control Trac tickets from within your subversion commit messages. In order to use this we will need to copy SVN hooks plugin and conimage it.

Continuing with the example from my previous post with the svn and trac project1, we would run the following commands

#!/bin/sh
REPOS="$1"
REV="$2"
LOG=`svnlook log -r $REV $REPOS`
AUTHOR=`svnlook author -r $REV $REPOS`
TRAC_ENV='/var/lib/trac/project1'echo "Writing revision " $REV >  tmplog.txt/usr/bin/python /usr/share/trac/contrib/trac-post-commit.py   
-p "$TRAC_ENV"    
-r "$REV"         
-u "$AUTHOR"      
-m "$LOG"sudo svn update /var/lib/trac/project1/doxygen/src/
sudo doxygen /var/lib/trac/project1/doxygen/project1

Now we will need to edit the post commit file using your favorite text editor. These are the contents of my post-commit file.

sudo cp /usr/share/doc/trac/contrib/trac-post-commit-hook /usr/share/trac/contrib/
cd /var/svn/project1/hooks
sudo touch post-commit
sudo chmod 755 post-commit

Now you should be able to reference and close tickets in your subversion commit statements.