svn: 数据库被锁定,执行语句 'RELEASE s0'。

23

我尝试从私有分支合并时一直出现以下错误:

数据库被锁定,执行语句 'RELEASE s0'

我使用collabnet subversion edge服务器:1.7.5-3220.94

我使用了tortoise svn客户端:TortoiseSVN 1.7.7, Build 22907 - 64 Bit , 2012/05/15 12:16:05

请问有人能指出是什么原因导致这个问题并提供解决方法吗?网上的参考资料表明某些进程正在使用sqlite后端。svn客户端右键菜单中通用的“释放锁定”操作似乎没有帮助?


6
这可能意味着您的工作副本正在同时被另一个客户端访问。 - Dmitry Pavlenko
但我通常会确保关闭除了我用来启动合并的窗口之外的所有Tortoise SVN客户端窗口? - Terman
15个回答

12

如果您正在使用Windows版本,那么请按照以下步骤操作:

右键单击存储库文件夹,选择 TortoiseSVN 选项,然后选择 Clean Up 选项。

在清理选项中选择:

Clean Up working copy status
Refresh Shell Overlays
Include external

sho


谢谢,我尝试了没有勾选"刷新外壳覆盖"的清理操作,但那并不够 - 勾选该选项使得清理操作能够正确执行,并解除了我的合并/重新整合命令的阻塞。 - shaun

9

我遇到了同样的问题。我同时在使用Tortoise和Eclipse。关闭Eclipse解决了这个问题。


非常感谢!我遇到这个问题已经很久了,原因是在更新时我还开着Netbeans。 - carla

7

当我尝试更新本地副本但合并窗口仍然打开时,出现了这个错误。我关闭了合并窗口,然后更新和清理工作正常运行。


6

如果您使用其他程序(如netbeans),您需要配置Netbeans:

选项 > 团队 > 版本控制 > Subversion > 首选客户端,将此选项更改为“CLI”,然后在TortoiseSVN\BIN目录中选择SVN.exe

这将解决锁定数据库的问题。


这很有帮助,而且比重新启动Netbeans更快。 - JP Lodine

6
如果我打开一个shell并运行一个subversion命令,然后尝试使用Tortoise进行合并,就会出现这个错误。
关闭shell窗口,然后再从Tortoise进行合并,它就可以工作了。

1
我也不得不在shell中杀掉svn进程。 - Eric Cope

3
执行SVN清理操作。问题将得到解决。

2
实际上它还没有解决。过于自信会破坏可信度。最好允许在许多情况下,相同的症状可能有不同的原因/解决方案的可能性。 - clearlight

2

通常出现这种情况是因为另一个程序正在对同一工作副本执行版本控制。

关闭该程序(如Eclipse,Netbeans等),然后在执行“清理”操作后再次尝试。


2

我有一个朋友也遇到过这个问题。他重新启动电脑后,一切都正常了,没有丢失任何东西,并且他又可以工作了。


1
如果以上答案都无效,那么只需从任务管理器中结束该进程,然后再尝试一次。 无需重启。 对我来说有效。

0

在Linux上,首先要检查的是是否有其他的“svn update”正在进行。如果是,请等待它完成或者杀死它(如果你杀死了它,你需要运行“svn cleanup”)。之后,svn应该会正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接