【问题标题】:How to execute batch file as Tortoise SVN hook如何将批处理文件作为 Tortoise SVN 钩子执行
【发布时间】:2017-05-17 08:07:35
【问题描述】:

我希望通过 TortoiseSVN 挂钩脚本在 START 提交或 PRE 提交中运行批处理文件。我所做的任何测试都没有奏效。

我已经创建了一个批处理文件 (svnadd.bat),它现在只是将消息写入文本文件,所以我知道它被触发了。但是,批处理文件似乎没有运行,因为没有写入消息。

echo YES>C:\Temp\commit.txt

这是我的钩子设置。

我的过程。右键单击 svn 版本控制下的文件夹,然后选择 SVN 提交。但是,提交对话框显示批处理文件没有执行。

svn 控制下的所有 svn 软件、存储库和文件夹/文件结构都位于同一台计算机/驱动器上。

根据屏幕截图,我还尝试将 cmd.exe 添加到命令行的前面

C:\windows\system32\cmd.exe /c C:\Tools\SVN\svnadd.bat

【问题讨论】:

  • 路径 c:\Tools/SVN/ 上有 WC 吗?
  • 抱歉,'WC' 是什么意思?
  • W显然是任何存储库的 Copy
  • 存储库签出为 C:\Projects\Client\ClientName。 C:\Tools 不受源代码控制。
  • C:\Projects\Client\ClientName 必须在路径字段中,因为这是一个钩子一个WCs之间的单一链接i> 在您的工作场所(睁大眼睛看窗户)。我在测试中遇到了一些关于 start-commit 钩子的奇怪问题,但其他(真正可用的)工作没有任何问题

标签: windows batch-file tortoisesvn


【解决方案1】:

我是这样配置的。成功了。

post_commit_hook.bat:

echo Hello World >file.txt

提交后,file.txt 会被保存到

E:\SVN\XXX\branches\autoCommit

【讨论】:

    【解决方案2】:

    @lazybadger 的评论提供了“路径”需要位于最高工作副本路径的答案。对我来说,这是C:\Projects

    一旦我将C:\Projects 设置为路径,脚本挂钩就会运行。

    【讨论】:

      【解决方案3】:

      如果您希望在 SVN 事件(如 SVN 提交)上执行某些脚本,您可以尝试使用团队城市。虽然 TeamCity 主要用作构建服务器,但我认为它可以满足您的需求。

      【讨论】:

        猜你喜欢
        • 2018-02-19
        • 2017-08-11
        • 2012-06-08
        • 1970-01-01
        • 2020-01-27
        • 2012-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多