Subversion Commit在第一个文件后无限期挂起

时间:2011-02-24 17:37:38

标签: linux svn commit

我通过SSH登录了我们的Linux Web服务器。我的SVN存储库中只有三个修改过的文件,我输入了svn ci -m "message"来提交它们。我整个上午一直在提交文件而没有任何麻烦,但现在svn正试图发送第一个文件!

我的屏幕目前看起来像这样:

Sending        path/to/my/file.php



^C



^C





.

^C当然是在等待几分钟之后,我尝试使用Control-C取消操作。空行是我按Enter键的地方,只是为了确保我的SSH连接仍处于活动状态。

我再次登录并在回购邮件上执行了svn status,它显示所有内容都已锁定。

这里发生了什么?我该怎样做才能拯救我的回购并让它再次正常投入?

2 个答案:

答案 0 :(得分:0)

猜测 - 这是一个完整的WAG - 你正在使用Berkeley DB backed repository并通过file://或svn + ssh://访问repo。

使用BDB支持的repo的最佳做法是仅通过svnserve(svn://)或apache dav_svn模块(http://)进行访问 - 这有助于消除数据库日志文件的文件所有权方面的几个问题。如果您需要运行BDB存储库,并且需要通过svn + ssh://或file://进行访问,则应查看Version Control with Subversion书籍的Supporting Multiple Repository Access Methods部分。

如果你不是特别关注BDB回购,我会看看FSFS回购。他们没有BDB回购所带来的许多问题。

如果你已经在运行FSFS回购......好吧,你让我在那里。我认为不可能楔入FSFS回购。

答案 1 :(得分:0)

我遇到了完全相同的症状,在我的情况下,它原来是一个RPC锁定问题。我使用文件访问我的repo:本地和NFS,以及通过svn + ssh:。

我无法从任何客户端提交,但其他一切工作正常。

显然,一个NFS客户端已经失控,并且锁定了回购。 (可能是我的MacBook使用WIFI,一般来说,它已被证明是一个不可靠的NFS客户端。)

重新启动statd并在装有repo的服务器上锁定,立即解决了问题。