我有一个SVN挂钩编写为.NET控制台应用程序并在VisualSVN服务器上运行,这导致一些问题。每次我尝试提交(使用Tortoise远程或通过命令行本地)我得到响应“访问被拒绝”。查看VisualSVN的事件查看器,出现错误,以“无法合并资源...”开头,然后是另一个错误,重复“拒绝访问”。
如果禁用预提交挂钩,则提交会很好,所以我认为这与存储库权限无关。预提交挂钩的路径肯定是正确的,因此SVN正在查找正确的位置。我也试过给我的帐户本地管理员权限,并明确给它“阅读&使用钩子应用程序在文件夹上执行“。我可以直接运行PreCommit.exe控制台应用程序,因此它肯定能够在计算机上执行。
这是我在repo的hooks文件夹中的pre-commit.cmd文件:
E:\PreCommitHooks\PreCommit.exe %1 %2
所有这些在我的本地机器上运行良好,所以我确信语法上的一切都是正确的,并且它只是一路上的权限错误。有什么想法吗?
答案 0 :(得分:1)
Visual SVN运行脚本及其服务。因此它使用安装服务的任何用户帐户运行它。
你正在做的事情需要它似乎没有的权限。
你在域上运行吗? e:本地,物理驱动器还是nework映射?