[[PageOutline(2-5,Contents,pullout)]] = Windows SVN Hook Integration = == Description == The scripts attached permit Subversion pre/post tasks to be done in an asynchronous fashion. === Assumptions === * 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. === Flow === 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. 1. Enforces reference to 1 ticket only 2. Verifies minimum comment length (15) 3. Verifies ticket exists 4. 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. == Bugs/Feature Requests == == Download == Download the attached Zip. == Source == In Attached Zip == Example == See attached == Recent Changes == == Author/Contributors == '''Author:''' [wiki:LloydFernandes] [[BR]] '''Maintainer:''' [wiki:LloydFernandes] [[BR]] '''Contributors:'''