我正在使用SVN
进行版本控制
我想使用post-commit
钩子来执行脚本,但由于某种原因它不会触发。
任何想法可能是什么原因?
Windows Server 2012
VisualSVN Server 2.7.4
post-commit.tmpl
文件夹中的hooks
文件更改为post-commit.bat
http
协议来访问服务器。post-commit.bat
文件以在c:\
中创建一个空文件,用于验证挂钩是否已执行(它没有...)file://
(并共享了回购的文件夹) - 没有好处...... 正如@bahrep和@Dialecticus指出的那样,在我的身边创建根c:上的测试文件并不聪明。在具有每个人的完全权限的子文件夹中创建它之后,创建了文件,例如,毕竟,钩子被触发了。
答案 0 :(得分:1)
尝试在C:\ Temp文件夹中创建空文件。写入C的根:需要您可能拥有的特权,但运行SVN服务器的帐户可能没有。
另外,尝试其他测试,以防万一。使用唯一的代码行"退出0"使pre-revprop-change.bat
挂钩,并尝试更改某些修订版的日志消息,甚至是作者,看看是否有效。
答案 1 :(得分:1)
正如@JyotsnaSaroha已经提到的,Subversion挂钩是在运行VisualSVN Server服务的帐户下执行的。默认情况下,该服务在Network Service
帐户下运行,因此该帐户必须具有您需要操作的目录/文件的访问权限。
您不需要编辑/重命名*.tmpl
挂钩文件,只需在VisualSVN Server Manager控制台中使用VisualSVN Server的内置挂钩编辑器。
我强烈反对使用post-commit hook在C:\
中创建任何内容。使用其他目录,例如C:\myhookdirectory
。