最近做了一个功能,就是svnhook功能,在svn客户端提交时做一些条件检查,然后确认提交通过或者拒绝.本来很简单的功能,但是被SVNServer机器上的权限问题给折磨了一下.不过也算是长见识了.
环境:WindowsServer,VisualSVN Server
正常用C#写了个控制台程序,放到hook文件夹下,一般来说,hook功能就完成了,我还写了个config配置文件,为了能够远程给相关的人修改这个配置文件,单独的给config在hook下建了个文件夹cfgFolder,然后把这个文件夹共享出,然而问题来了,hook的exe程序无法读/写config文件了.
尝试着设置cfgFolder的权限,并没有效果.后来给SVNTeam发了个求助邮件,SVN求助邮件的链接为https://www.visualsvn.com/support/feedback/?vsvn-server=
没想到团队给的回复还是挺快的,大约半小时左右回复了第一封,让我给他们把各种日志发过去,然后2个小时左右的时候又给我回了一封,把SVN的权限问题描述了一下.
细节就不说了,只说主要问题,在把文件夹共享出去之后,文件夹的操作权限(可能)变成了共享时设定的权限,然后SVN客户端提交时触发的SVNServer操作的用户是Network Service ,而这个用户是不显示在默认用户中的,所以由SVNClient提交触发SVNServer操作就无法操作这个文件夹了,只需要把Network Service 用户添加到共享的权限里就可以了.
第一次给我回复的邮件: