【发布时间】:2012-07-17 10:59:09
【问题描述】:
在某些情况下,只有在满足某些条件时才需要执行提交后操作。
例如仅在提交的修订影响 '/tags' 目录时发送电子邮件。 我在网上搜索了这样的脚本示例以在 Windows 环境中运行,但没有找到,所以我不得不自己编写。
【问题讨论】:
标签: svn batch-file hook visualsvn-server post-commit
在某些情况下,只有在满足某些条件时才需要执行提交后操作。
例如仅在提交的修订影响 '/tags' 目录时发送电子邮件。 我在网上搜索了这样的脚本示例以在 Windows 环境中运行,但没有找到,所以我不得不自己编写。
【问题讨论】:
标签: svn batch-file hook visualsvn-server post-commit
post-commit.bat 代码:
REM The command checks whether the committed revision changes any data under '/tags'
"%VISUALSVN_SERVER%bin\svnlook.exe" dirs-changed %1 --revision %2 | findstr /b "[Tt]ags"
REM If 'findstr' returns error code 0, it means that the commit involves the '/tags' directory.
REM So if the the returned code is 0 the command runs external batch 'post-commit-run.bat'
If %ERRORLEVEL% EQU 0 call %~dp0post-commit-run.bat %*
【讨论】:
我有一个提交后 Watcher 脚本,可以完全按照您的要求进行操作。这是一个 Perl 脚本,但您可以从 ActiveState 或 Strawberry Perl 项目下载适用于 Windows 的 Perl。
我的提交后挂钩位于GitHub。它使用 配置文件 来指定要监视的目录。 (其实每个用户都可以设置自己的配置文件)。
【讨论】: