5

我们使用在 Windows Server 2003 上运行的 VisualSVN 服务器来提供我们的源代码。最近,我们将一个项目的一部分拆分为它自己的存储库中的一个新项目,然后使用svn:externals. 从那时起,我们在尝试使用 Subclipse 提交文件时遇到了问题。

我们得到的错误是:

svn:提交失败(详情如下):

svn: PROPFIND of '/svn': 405 Method Not Allowed ( https://svn.ourserver.com )

谷歌搜索了一段时间并没有真正帮助,我们的配置似乎是正确的。还应该注意的是,我们已经运行这个服务器一段时间了,没有这些问题,除了将项目分成两个存储库之外,没有对服务器进行任何更改(即配置文件相同)。

还应注意,这些错误仅在我们尝试一次签入多个文件时出现。如果我们一次签入一个文件,则没有错误。此外,据我们目前所知,它仅出现在 Subclipse 中,并且Versions.app(OS X) 似乎工作正常,所以这是我们目前的解决方法。

如何分析错误以找到原因并随后修复它?

我绝不是 SVN 大师,现在我一无所知。


似乎我们可以签入同一个包中的多个文件,但不能签入来自多个包的文件。此外,当我将项目“拆分”为两个存储库时,我使用新名称导入了原始存储库。我没有进行转储,然后导入该转储。这可能是我们问题的根源吗?如果是,我将如何解决?

经过一番折腾之后,似乎确实与签入不同存储库中的文件有关。如果我尝试同时在存储库 A 和存储库 B(由 引用svn:externals)中进行一次提交,则会收到错误消息。Versions.app正确处理这个问题,但我想它可能只是做了两个提交,而不是一个。Subclipse 惨遭失败。现在,我们只需进行多次提交,一个用于存储库 A,一个用于存储库 B,效果很好。如果比我聪明的人可以详细说明为什么会发生这种情况,这种设置是否愚蠢等等,请继续。

4

1 回答 1

1

先决条件:聘请优秀的管理员

问题:VisualSVN 服务器对其内部存储库的所有和任何部分使用基于路径的身份验证。默认访问级别 (AFAICR) - 适用* = r于 root 并且此设置继承到下面的所有节点(存储库的 root 也是),当您尝试提交到没有良好 ACL的新存储库(或配置错误)时,您会遇到问题

解决方法:在 VisualSVN Server MMC-applet 中检查新存储库的属性,并检查权限和用户。在最简单的情况下,在超级存储库(具有外部的存储库)中具有写权限(可以提交)的用户必须(如果策略允许)在子存储库(具有链接的存储库)中具有写权限资源)。

于 2013-02-08T03:57:22.767 回答