Subversion:锁定文件失败

时间:2011-12-13 06:11:18

标签: svn apache2

我刚将一些Subversion存储库从Windows 2003服务器迁移到Windows 2008服务器,并在此过程中将Subversion从1.5升级到1.7。签出和提交有效,但是当用户尝试锁定文件时,他们会收到以下消息:

  

错误:'/SVN/TempRepo_OnlyToPlayWith/Documents/Test.docx'的锁定:无法读取
  错误:状态行:远程主机强行关闭现有连接   错误:(https://subversion.mysite.com)

(其中https://subversion.mysite.com是托管subversion的网站)

我一直在寻找问题所在,没有运气。

帮助我,StackOverflow - 你是我唯一的希望。

编辑:

更多的调查发现,当我不通过https,但使用文件:///直接在服务器上使用Tortoise回复时,我收到以下错误消息:

  

错误:无法打开文件   'd:\ SVNRepositories \ TempRepo_OnlyToPlayWith \分贝\写锁':
      错误:访问被拒绝。

但是,从具有管理员权限的控制台使用命令行svn工具可以正常工作。

这真的只是读/写权限的问题吗?如果是这样,为什么checkout / commit / etc.工作,但没有锁定存储库中的文件?

更多编辑:

显然,在调查事件日志后,似乎httpd.exe一直在崩溃,指责mod_dav.so:

  

错误应用程序名称:httpd.exe,版本:2.2.21.0,时间戳:0x4e6a3015   错误模块名称:mod_dav.so,版本:2.2.21.0,时间戳:0x4e6a3023

2 个答案:

答案 0 :(得分:0)

问题是这是存储库还是Apache http实例的问题。你改变了我们的两件事:存储库的版本和操作系统的版本。

让我们尝试消除Apache作为问题。关闭Apache http并使用svnserve命令启动存储库(该命令应该与Subversion服务器一起提供)。您需要更新存储库的conf\svnserve.conf文件以启用passwd文件,然后更新passwd以包含一些用户名和密码。

做一个干净的结账,然后尝试锁定。你得到同样的错误吗?如果是这样,您的存储库存在问题。从1.5升级到1.7是存储库结构中的一个重大变化。你以前做过转储和装载吗?你做过svnadmin upgrade吗?

如果锁定问题消失,则问题出在Apache http配置上。你使用什么类型的Apache http安装?这是你自己编译的东西,还是像CollabNet的Subversion Edge那样 - 一个预构建的包?

答案 1 :(得分:0)

已经解决了。问题是我安装了CollabNet的Subversion服务器1.7.1(包括Apache服务器),然后安装了更新版本的Apache,然后从CollabNet的Apache复制了一些与SVN相关的文件文件夹到独立的Apache服务器。

安装CollabNet Subversion服务器1.7.2并使用随附的Apache服务器后,一切似乎都运行良好。