我们使用在Windows Server 2003上运行的VisualSVN Server来提供源代码。最近,我们将项目的一部分拆分为自己的存储库中的新项目,然后使用{{1将其链接回原始项目}}。从那以后,当我们尝试使用Subclipse提交文件时,我们遇到了问题。
我们得到的错误是:
谷歌搜索一段时间并没有真正帮助,我们的配置似乎是正确的。还应该注意的是,我们已经运行此服务器一段时间没有这些问题,除了将项目拆分为两个存储库之外,没有对服务器进行任何更改(即配置文件是相同的)。svn:提交失败(详情如下):
svn:'/ svn'的PROPFIND:405方法不允许(https://svn.ourserver.com)
还应该注意,只有当我们尝试一次检入多个文件时才会出现这些错误。如果我们一次检入一个文件就没有错误。另外,就目前我们所知,它只出现在Subclipse中,svn:externals
(OS X)似乎工作正常,因此这是我们当前的解决方法。
如何分析错误以找出原因并随后进行修复?
我绝不是SVN大师,现在我一无所知。
似乎我们可以在同一个包中检入多个文件,但不能检入多个包中的文件。此外,当我将项目“拆分”为两个存储库时,我使用新名称导入了原始存储库。我没有进行转储,然后导入该转储。这可能是我们问题的根源,如果是,我将如何解决?
经过一些抽搐后,似乎确实与检查不同存储库中的文件有关。如果我尝试同时在存储库A和存储库B(由Versions.app
引用)中执行单个提交,则会收到错误。 svn:externals
正确地处理了这个问题,但我想它可能只是做了两次提交,而不是一次提交。 Subclipse失败了。现在,我们只做多个提交,一个用于存储库A,一个用于存储库B,它们工作得很好。如果比我更聪明的人可以填写详细信息,为什么会发生这种情况,无论这种设置是否愚蠢等等,请立即行动。
答案 0 :(得分:1)
先决条件:聘请好管理员
问题:VisualSVN Server对其中的所有repos部分使用基于路径的身份验证。默认访问级别(AFAICR) - 对于root是* = r
,并且此设置继承到下面的所有节点(存储库的根也是),并且当您尝试提交到新存储库没有良好的ACL 时它(或错误配置)你遇到问题
解决方案:检查VisualSVN Server MMC-applet中新存储库的属性,并检查权限和用户。在最简单的情况下,在超级存储库(具有外部存储库)中具有写权限(可以提交)的用户必须具有(如果策略允许的话)子存储库中的写权限(具有链接的存储库)资源)。