从一个小时开始,我无法提交到我的svn存储库。我的svn服务器上的所有存储库都受到影响。
更新和退房工作正常。提交会产生以下错误:
svn: Commit failed (details follow): svn: Can't get exclusive lock on file '/var/svn/repos/<repo name>/db/txn-current-lock': Bad address
当我创建一个名为'config'的新存储库时,问题就出现了,虽然我不确定这会引发我遇到的问题。
svnadmin recover <repo name>
给出:
svnadmin: Can't get exclusive lock on file '<repo name>/db/write-lock': Invalid argument
为什么会出现锁定问题?
[编辑] 服务器变得更糟,并在尝试安装更新时启动了Segfaulting。重新启动后,整个问题似乎已经解决......
答案 0 :(得分:1)
存储库已损坏,请参阅SVN Book的Berkeley DB Recovery部分。总之,你必须这样做;
svnadmin recover /path/to/repos
答案 1 :(得分:0)
迁移SVN服务器后,我刚遇到此问题。我使用本机svn导出和导入命令来执行此操作。在新服务器上,我收到与OP相同的错误。我注意到,如果从shell执行提交sudo它工作,但它在我的普通用户帐户下失败。
最终成为文件权限。我很快就做了一个chmod 777 -R,对我来说很好,因为它只是我家里的本地开发盒。
svn recover没有解决问题。您无法锁定该文件,因为您没有写入权限。
答案 2 :(得分:0)
我在全球范围内迁移存储库后,今天早上遇到了这个问题。问题是root拥有服务器上的目录,但Web服务器以不同的用户身份运行。使用
更改服务器上的目录所有者chown -R user:group /path/to/repository
解决问题,替换用户&#39;与运行网络服务器的用户和&#39;组&#39;通常应该与用户相同。