Windows SVN Hook Integration
The scripts attached permit Subversion pre/post tasks to be done in an asynchronous fashion.
- Coder is unlikely to put in a commit until after n (scripts assume 5) minutes after the ticket is created
- Update of ticket/repository with change-set can wait for n (script assumes 5) minutes after the commit is completed.
The flow consists of four steps.
- Trac Prep (tracSVNInfo.cmd) - During this step a file is generated with a list of outstanding tickets along with owner and state. Also generated is a list of members in a specific group
- Subversion Pre Commit (preCommit.cmd)- This pre commit command check for the following using data generated from the above step. A sample (pre-commit.cmd) hook is provided.
- Enforces reference to 1 ticket only
- Verifies minimum comment length (15)
- Verifies ticket exists
- Verifies commit author is ticket owner or is in a group that permits the action.
- Subversion Post Commit (postCommit.cmd,postRevPropChange.cmd - In this step (see sample hooks post-commit.cmd,post-revprop-change.cmd) a file is created with the trac command for executing the change-set.
- Trac Execution (tracSVNInfo.cmd) - During this step the command generated by previous step are executed.
The first and last step above are executed in the background using AstuteSvcIntegration. The steps are currently combined into 1 command file but can be split if you need to run them on different schedules.
If you have any issues, create a new ticket.
Download the latest revision from here.