Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Subversion:禁止访问:当我没有根目录的读取权限时,无法在tortoise svn客户端窗口中提交_Svn_Tortoisesvn - Fatal编程技术网

Subversion:禁止访问:当我没有根目录的读取权限时,无法在tortoise svn客户端窗口中提交

Subversion:禁止访问:当我没有根目录的读取权限时,无法在tortoise svn客户端窗口中提交,svn,tortoisesvn,Svn,Tortoisesvn,我知道subversion这类问题已经被问了很多次,但各种解决方案都不起作用,具体的设置也不尽相同 我们正在使用乌龟SVN作为客户。当用户对subversion中的子文件夹具有读/写访问权限时,例如/project1和对root(/)的读访问权限,在工作副本和tortoise svn客户端窗口中一切都可以正常工作 但是,如果我从根(/)中删除了读访问权限,只保留对/project1的读/写访问权限,那么用户就无法在tortoise客户端窗口中提交project1。我们可以使用工作副本进行提交,但

我知道subversion这类问题已经被问了很多次,但各种解决方案都不起作用,具体的设置也不尽相同

我们正在使用乌龟SVN作为客户。当用户对subversion中的子文件夹具有读/写访问权限时,例如/project1和对root(/)的读访问权限,在工作副本和tortoise svn客户端窗口中一切都可以正常工作

但是,如果我从根(/)中删除了读访问权限,只保留对/project1的读/写访问权限,那么用户就无法在tortoise客户端窗口中提交project1。我们可以使用工作副本进行提交,但不能在客户端窗口内进行

这是怎么回事

Windows 7 64位,tortise svn 64位1.7.10
apache上运行的Subversion服务器:“由Subversion版本1.6.11(r934486)提供动力。”

Wrikken摇了摇头,我发现这是对svnauthorization.conf的错误配置

我应该提到,我们正在使用CollabNet subversion,这个链接也有帮助:

我们基本上有这样的设置:

[groups]
admins= me, domain\me
users= you, domain\you

[/]
@admins = rw
@users = r

[repo:/project1]
@users = rw

[repo:/project2]
@users = r 

你看到问题了吗?我没有,但在这里,我们授予了对顶级根的读取权限,而我们本应授予对repo根的读取权限:

[/]
@admins = rw

[repo:/]
@users = r

[repo:/project1]
@users = rw

[repo:/project2]
@users = r 

呃,我的Windows已经生锈了,但用户在访问
/project1
之前,难道不应该至少能够列出
/
?这就是它在Linux上工作的方式…@Wrikken也许这就是为什么当用户拥有读取权限时它工作的原因。但是,为什么它只适用于工作副本,而不适用于客户端窗口?实际上,我认为用户不需要根目录访问,我认为他们可以访问subversion中您给他们的任何子目录。另外,如果用户没有根目录访问权限,为什么子目录上的读取可以工作而不写呢?如果你不能在linux中列出根目录,它就不工作(任何地方都不能读/写)。然而,我不熟悉Windows权限的设计策略,所以我将把这些问题留给更合适的人去解决。@Wrikken-哈哈!这里有两件我没有看到的东西,你帮了我的忙,我会把它添加到一个答案中。我们将[/]设置为读取,将[repo:/project1]设置为rw,但我们从未添加[repo:/]权限;在我添加[repo://]并将其设置为只读后,一切都可以运行。也许您可以在问题中澄清我从您的回答中了解到的内容,即您所说的是
svnauthorization.conf
中的存储库配置授予的访问权限?我想很明显,
/
必须提到这一点,但我一开始不明白你的意思。我也不知道您所说的“在我们的工作副本内”和“在客户端窗口内”是什么意思。“我们在应该授予对repo根的读取权限时,授予了对顶级根的读取权限”-从未见过或遇到过此问题:权限从根到子notes继承,(I)1。为[](
*=r
)2定义基本ACL。仅重新定义以后需要它的时间、地点和对象(svn 1.7 x86,Windows)@lazybagger yes您所说的有意义。我们不希望顶级根[/]使用“*=r”,因为我们希望不同的用户组有多个存储库,而这些用户组应该只能访问各自的存储库。我提供的示例没有显示这一点。类似于[repo1://]usergroup1=rw和[repo2://]usergroup2=rw的内容