[[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 one 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 one 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:'''