我有一台带有最新TortoiseSVN版本(1.11.0 x64)的Windows 7 PC。几乎每次我想提交服务器的更改,我都会收到以下错误:
Commit failed (details follow):
Failed to load properties: sqlite[S5]: database is locked
Error unlocking locked dirs (details follow): sqlite[S5]: database is locked
Another process is blocking the working copy database, or the underlying filesystem does
not support file locking; if the working copy is on a network filesystem, make sure file
locking has been enabled on the file server.
它很容易修复 - 我只是去项目根文件夹,做一个SVN清理,然后提交工作正常。但是,如果我想在那之后几分钟再次提交,它很可能再次失败并迫使我做另一次清理。真的很烦人。
有什么方法可以防止这些锁发生吗?我可以在TortoiseSVN上更改任何设置,还是什么?
更多细节:
似乎问题是由Eclipse引起的。我们通常构建我们的SVN项目,如下所示:
/trunk
/docs
/etc
/scripts
/source
/pom.xml
/src/main/...
我签出整个主干(或一些分支),然后将源项目导入Eclipse。
为了管理代码更改,我使用Eclipse中的SVN同步视图,这比TortoiseSVN更加用户友好(仅我的意见)。对于/ source文件夹之外的更改,我必须使用TortoiseSVN,因为文件不在Eclipse中。
问题是,显然,Eclipse有一些后台进程,每隔几分钟“更新一次SVN缓存”,即使你没有更改该项目的任何内容,只需在工作区中打开它即可。并且它会弄乱TortoiseSVN,因此除非我执行清理,否则会出错。
我想这里我唯一的选择是为Eclipse和TortoiseSVN使用不同的checkout文件夹(呃......),或者在Eclipse中禁用SVN并使用始终使用TortoiseSVN(呃...)。 Eclipse中的There is an option,在Team> SVN> Performance下,允许禁用SVN状态缓存。我想它应该有助于解决问题...或者现在我可能在Eclipse和Tortoise中都有锁定错误:)