1

问题

SVN用于修订控制。
我想使用post-commit钩子来执行脚本,但由于某种原因它不会触发。

任何想法可能是什么原因?


附加信息

  • 我的服务器是Windows Server 2012
  • 我在用VisualSVN Server 2.7.4
  • 我已将post-commit.tmpl文件hooks夹中的文件更改为post-commit.bat
  • 我正在使用该http协议来访问服务器。

到目前为止我尝试了什么

  • 我已经修改了post-commit.bat文件以创建一个空文件以c:\验证钩子是否已执行(它没有...)
  • 该脚本可以从命令行完美运行。
  • 我将协议更改为file://(并共享了 repo 的文件夹)-不好...

解决方案

正如@bahrep 和@Dialectus 指出的那样,在根c: 上创建测试文件对我来说并不聪明。在对每个人都具有完全权限的子文件夹中创建它之后,文件就被创建了,例如,钩子毕竟被触发了。

4

2 回答 2

1

尝试在 C:\Temp 文件夹中创建空文件。写入 C: 的根目录需要您可能拥有的特殊权限,但运行 SVN 服务器的帐户可能没有。

另外,请尝试另一个测试,以防万一。使用一行代码“exit 0”进行挂钩,并尝试更改pre-revprop-change.bat某些修订版的日志消息,甚至作者,看看是否可行。

于 2014-04-02T08:33:36.163 回答
1
  1. 正如@JyotsnaSaroha 已经提到的,Subversion 挂钩在运行 VisualSVN Server 服务的帐户下执行。该服务Network Service默认在帐户下运行,因此该帐户必须具有对您需要它操作的目录/文件的访问权限。

  2. 您不需要编辑/重命名*.tmpl挂钩文件,只需在 VisualSVN Server Manager 控制台中使用 VisualSVN Server 的内置挂钩编辑器即可。

  3. 我强烈反对使用 post-commit 钩子在C:\. 使用其他目录,例如C:\myhookdirectory.

于 2014-04-02T09:04:50.020 回答