wiki:WinSvnHooksIntegration

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

Existing bugs and feature requests for WinSvnHooksIntegration are here.

If you have any issues, create a new ticket.

Download

Download the latest revision from here.

Source

You can check out WinSvnHooksIntegration from here using Subversion, or browse the source with Trac.

Recent Changes

[12256] by rjollos on 2012-10-25 05:36:18
Added files previously attached to the project wiki page.
[11544] by LloydFernandes on 2012-05-10 14:45:24
New hack WinSvnHooksIntegration, created by LloydFernandes

Author/Contributors

Author: LloydFernandes
Maintainer: LloydFernandes
Contributors:

Last modified 22 months ago Last modified on Oct 25, 2012 5:36:00 AM