Tortoise SVN Post-Commit Hook Windows

时间:2016-02-20 23:08:56

标签: batch-file svn tortoisesvn post-commit-hook

我正在使用curl发送JSON,通过Windows Tortoise SVN中的客户端后提交挂钩为SVN项目进行简单的松弛集成。我想在提交时发布一些基本信息,理想情况是修订号和注释。我添加了一个提交后客户端端钩子,它执行postcommit.bat文件,成功向我的松弛通道发送消息。我无法工作的是包括来自乌龟的传入变量。根据tortoise,SVN客户端钩子后提交将包括以下参数PATH DEPTH MESSAGEFILE REVISION ERROR CWD https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-settings.html

这是我的工作代码,它发送一个静态字符串(不包括消息/修订到我的松弛通道):

C:\p\curl -H "Content-Type: application/json" -X POST https://hooks.slack.com/services/MYSECRETSERVICE -d "{\"text\":\"Test message\"}"

我想做这样的事情,但是下面的代码没有,它只是发布" RevMessage",或者换句话说,参数没有正确传递:

C:\p\curl -H "Content-Type: application/json" -X POST https://hooks.slack.com/services/MYSECRETSERVICE -d "{\"text\":\"Rev%REVISION%Message%MESSAGE%\"}"

1 个答案:

答案 0 :(得分:1)

好吧,这可能是如此具体(从查看次数来看)我必须自己回答,哈哈。无论如何,也许其他人会觉得这很有用,这就是最终为我工作的东西。第一个变量需要从参数设置,然后可以如下所示引用它们:

    set tsvnPath=%1
    set tsvnDepth=%2
    set tsvnMsgFile=%3
    set /p THEMSG=<%3
    set tsvnRevision=%4
    set tsvnError=%5
    set tsvnCwd=%6
    C:\p\curl -H "Content-Type: application/json" -X POST https://hooks.slack.com/services/MYSECRET -d "{\"text\":\"MSG %THEMSG% REV %tsvnRevision%\"}"