提交后钩子作为svn中的哪个用户运行

提交后钩子作为svn中的哪个用户运行,svn,post-commit,Svn,Post Commit,Apache在windows计算机上作为系统运行。 post-commit.bat应该使用什么用户和密码 我正试图将内容复制到一个目录,以便在Web服务器上的开发人员版本上进行测试,但它似乎无法正常工作。钩子脚本将由服务器启动,因此您只需确保相应的用户(您的系统)已启动 对存储库的读/写访问(应该已经如此) 对钩子脚本的读取/执行访问 根据您的脚本所做的,您可能需要更多,例如,如果它创建一个日志-如果它通常访问其他资源。这可能就是你遇到的问题 另外,如果hook脚本是.bat,则需要使用CO

Apache在windows计算机上作为系统运行。
post-commit.bat应该使用什么用户和密码


我正试图将内容复制到一个目录,以便在Web服务器上的开发人员版本上进行测试,但它似乎无法正常工作。

钩子脚本将由服务器启动,因此您只需确保相应的用户(您的系统)已启动

  • 对存储库的读/写访问(应该已经如此)
  • 对钩子脚本的读取/执行访问
根据您的脚本所做的,您可能需要更多,例如,如果它创建一个日志-如果它通常访问其他资源。这可能就是你遇到的问题

另外,如果hook脚本是.bat,则需要使用
COMSPEC
环境变量来查找shell(我在Windows XP中遇到了这个问题,主要是因为配置不正确)。此变量通常定义为
C:\Windows\system32\cmd.exe
<代码>路径当然也很重要

请注意,这可能会产生误导,当您使用另一个用户登录测试脚本时,您可能会有另一个访问权限,但您的服务器身份不会


编辑:如果您不确定服务器帐户中包含的内容,可以在批处理脚本的开头设置或扩展重要的环境变量,如
PATH
COMSPEC
。比如说,

SET ComSpec=%SystemRoot%\system32\cmd.exe
SET PATH=%PATH%;C:\Tools\SVN\svn-win32-1.4.6\bin

有时,这比在黑暗中试图修改服务器帐户要容易得多。

我没有解决运行post-commit.bat的问题,但这些用户和路径建议有助于消除这些潜在问题。感谢调试这些钩子脚本有时非常困难,因为很难在相同的条件下对其进行测试。如果您仍然有这个问题,您可以1)在脚本的最开始生成一个日志文件(注意权限!),然后在脚本中进一步跟踪它;2) 在与服务器相同的帐户下打开命令shell窗口,并使用合理的参数手动启动它。在日志文件中,还可以转储所有环境。变量(set>log.txt),这通常是问题所在。