[[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 minutes after the ticket is created, the scripts assume 5 minutes. * 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 the following 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 Existing bugs and feature requests for WinSvnHooksIntegration are [report:9?COMPONENT=WinSvnHooksIntegration here]. If you have any issues, create a [/newticket?component=WinSvnHooksIntegration new ticket]. [[TicketQuery(component=WinSvnHooksIntegration&group=type,format=progress)]] == Download Download the latest revision from [export:winsvnhooksintegration here]. == Source You can check out WinSvnHooksIntegration from [/svn/winsvnhooksintegration here] using Subversion, or [source:winsvnhooksintegration browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. == Recent Changes [[ChangeLog(winsvnhooksintegration, 3)]] == Author/Contributors '''Author:''' [wiki:LloydFernandes] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:'''