在SVN中创建分支或标记时出错

时间:2013-08-01 14:29:36

标签: svn tortoisesvn visualsvn-server

自升级到SVN 1.8(在VisualSVN Server 2.6.2上)以来,每当我尝试创建分支(或标记)时,都会收到此错误:

  

由于源上的前置条件失败,无法COPY / svn / [path]   (例如锁)。 [424,#0]

     

另一个资源发生错误,阻止了请求   对此资源的操作。 [424,#0]

这只发生在一个存储库中 - 我已经升级了两个并且它们完美地工作,即:我们能够正常分支和标记。知道是什么原因造成的吗?

2 个答案:

答案 0 :(得分:2)

原来错误信息是关于在主干中的某个地方有一个锁。

奇怪的是,我的客户端(TortoiseSVN)看不到锁定 - Release LockCleanup命令都没有报告。我试过svnadmin lslocks并且看,它列出了一个锁定在... 2012年1月的单个xml配置文件。

看起来从SVN 1.6升级到1.8不知何故导致这个古老的锁定回来了。在该文件上使用svnadmin rmlocks解决了问题,分支/标记不再失败。只是为了确保我尝试通过TortoiseSVN锁定/解锁文件,现在一切正常,即:锁定列出等等。

很抱歉,我无法为此问题提供更合理的解释,但可能旧版本的锁未正确升级,和/或TortoiseSVN无法正确处理升级锁。

答案 1 :(得分:1)

这是Apache HTTP Server中引入的known bug 2.2.25 mod_dav模块。此错误的解决方法将在下一个VisualSVN中提供 服务器补丁发布;它将与Apache Subversion 1.8.3同时发布。

作为一种可能的解决方法,您可以使用svn copy标记分支 服务器计算机上的file://协议(换句话说,使用本地 带file://协议的网址)。从那以后就不推荐了 需要完全访问服务器机器和存储库,只需服务器 管理员应该执行操作。