2016-06-28 71 views
1

我想在服务器的本地硬盘驱动器上每当提交时检出最近的存储库文件。Visual SVN服务器Post-Commit挂钩失败

我的post-commit钩子现在的问题是:

svn checkout https://xyz.mysite.com:7405/svn/ProjectName/ C:\my-temp --non-interactive --no-auth-cache --username myusername --password mypassword 

是VisualSVN服务器创建运行Windows的命令提示符中大和做什么,我需要做的.cmd文件。但是当提交发生时运行它时,会将错误返回给SVN客户端,并且目标文件夹中没有任何内容出现。

尽管证书在Commpand Prompt中完美工作,但错误消息显示为Access to /svn/ProjectName forbidden

请让我知道我需要做的脚本的钩子运行。谢谢!

回答

0

您是否在服务器上启用了Integrated Windows Authentication(即Active Directory单一登录)?在这种情况下,--username--password参数将不起作用,因为svn.exe从挂钩脚本调用时,将在运行VisualSVN Server HTTP服务的用户帐户下进行身份验证。

有几种方法摆脱了身份认证问题的:

  • 如果您在网络服务运行服务(HTTP服务该帐户默认下运行),提供与AD 计算机帐户读取权限/svn/ProjectName/。网络服务帐户在网络上的计算机帐户凭据下工作。

  • 运行svn checkout针对file:// URL。这样客户端直接在文件系统上访问存储库,不需要特殊的认证。该URL应该看起来像file:///C:\Repositories\MyProject

+0

是的。我刚才发现它是因为“NETWORK SERVICE”无法访问SVN回购。谢谢! –