如何将批处理文件作为 Tortoise SVN 挂钩执行
How to execute batch file as Tortoise SVN hook
我希望 运行 通过 TortoiseSVN 挂钩脚本在 START 提交或 PRE 提交中提交一个批处理文件。我所做的测试均无效。
我创建了一个批处理文件 (svnadd.bat),它现在只是将一条消息写入文本文件,所以我知道它被触发了。但是,批处理文件不会出现在 运行 中,因为消息没有被写入。
echo YES>C:\Temp\commit.txt
这是我的挂钩设置。
我的过程。右键单击受 svn 版本控制和 select SVN 提交的文件夹。提交对话框显示,但是批处理文件没有执行。
svn 控制下的所有 svn 软件、存储库和 folder/file 结构都驻留在同一个 computer/drive 上。
根据屏幕截图,我还尝试将 cmd.exe 添加到命令行的前面作为
C:\windows\system32\cmd.exe /c C:\Tools\SVN\svnadd.bat
如果您希望某些脚本在 SVN 事件(如 SVN Commit)上执行,您可以尝试使用 team city。尽管 TeamCity 主要用作构建服务器,但我认为它可以满足您的需求。
@lazybadger 的评论提供了 "path" 需要位于最高工作副本路径的答案。对我来说,这是 C:\Projects
.
一旦我将 C:\Projects
设置为路径,脚本钩子 运行.
我是这样配置的。成功了。
post_commit_hook.bat:
echo Hello World >file.txt
提交后,file.txt将保存到
E:\SVN\XXX\branches\autoCommit
我希望 运行 通过 TortoiseSVN 挂钩脚本在 START 提交或 PRE 提交中提交一个批处理文件。我所做的测试均无效。
我创建了一个批处理文件 (svnadd.bat),它现在只是将一条消息写入文本文件,所以我知道它被触发了。但是,批处理文件不会出现在 运行 中,因为消息没有被写入。
echo YES>C:\Temp\commit.txt
这是我的挂钩设置。
我的过程。右键单击受 svn 版本控制和 select SVN 提交的文件夹。提交对话框显示,但是批处理文件没有执行。
svn 控制下的所有 svn 软件、存储库和 folder/file 结构都驻留在同一个 computer/drive 上。
根据屏幕截图,我还尝试将 cmd.exe 添加到命令行的前面作为
C:\windows\system32\cmd.exe /c C:\Tools\SVN\svnadd.bat
如果您希望某些脚本在 SVN 事件(如 SVN Commit)上执行,您可以尝试使用 team city。尽管 TeamCity 主要用作构建服务器,但我认为它可以满足您的需求。
@lazybadger 的评论提供了 "path" 需要位于最高工作副本路径的答案。对我来说,这是 C:\Projects
.
一旦我将 C:\Projects
设置为路径,脚本钩子 运行.
我是这样配置的。成功了。
post_commit_hook.bat:
echo Hello World >file.txt
提交后,file.txt将保存到
E:\SVN\XXX\branches\autoCommit