如何防止 TortoiseSVN 数据库锁定?
How can I prevent TortoiseSVN database locking up?
我有一台装有最新 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 上更改任何设置吗?
更多细节:
- 我的 SVN 项目和 TortoiseSVN 本身都放在我的本地硬盘上(没有网络文件系统),并且它们的文件夹被排除在杀毒软件之外。
- 工作副本文件夹不是网络共享的(也不是本地共享的,我是该 PC 上的唯一用户)。
- 我也没有 Dropbox、Google Drive 或任何其他同步文件夹的云软件。
- 它是 TortoiseSVN 特有的,当我从 Eclipse 提交更改时,我从未遇到过这个错误。
- 虽然我真的不认为这是一个 TortoiseSVN 错误,我最近从版本 1.9.6 更新到 1.11.0 并且两者都有同样的问题,如果这真的是一个错误它肯定会被修复.. 。 正确的? :)
- 我是目前唯一参与这些项目的开发人员(这不是我的本地数据库过时或存在冲突的问题)。
编辑:问题实际上并不是由 Eclipse 本身引起的。它要么是 Subversive 插件,要么是 SVNKit 连接器。我已经切换到 Subclipse 和 JavaHL,问题已经完全消失了。我没试过Subclipse+SVNKit,也没试过Subversive+JavaHL,我猜这些组合中的一个也能解决问题,另一个不会。
看来问题出在Eclipse上。我们通常这样构建我们的 SVN 项目:
/trunk
/docs
/etc
/scripts
/source
/pom.xml
/src/main/...
我签出整个主干(或某个分支),然后将源项目导入 Eclipse。
为了管理代码更改,我在 Eclipse 中使用了 SVN 同步视图,它比 TortoiseSVN 更加用户友好(只是我的看法)。对于 /source 文件夹之外的更改,我必须使用 TortoiseSVN,因为这些文件不在 Eclipse 中。
问题显然是,Eclipse 有一些后台进程 "updates the SVN cache" 每隔几分钟,即使您没有对该项目进行任何更改,只是在工作区中打开它也是如此。它搞乱了 TortoiseSVN,因此出现错误,除非我执行清理。
There is an option 在 Eclipse 中,在 Team > SVN > Performance 下,它允许禁用 SVN 状态缓存...但我上次尝试时,它并没有阻止这个问题,它只是让 Eclipse SVN 同步速度较慢。
我想我在这里唯一的选择是为 Eclipse 和 TortoiseSVN 使用不同的结帐文件夹(呃......),或者在 Eclipse 中禁用 SVN 并始终使用 TortoiseSVN(呃......)。
我也认为锁是eclipse插件引起的。这里有一些关于我的设置以及我如何解决这个问题的更多细节:
Tortoise:TortoiseSVN 1.12.2,内部版本 28653 - 64 位,2019/08/04 13:03:09
Subversion:Subversion 1.12.2,-release
Eclipse:Spring 工具套件版本:3.9.6.RELEASE(eclipse Eclipse 2018-09 (4.9.0))
eclipse 中的 SVN 插件:
- 颠覆性修正图(可选)4.0.0.I20160226-1700
- 颠覆性 SVN 连接器 6.0.4.I20161211-1700
- 颠覆性 SVN Team Provider 4.0.5.I20170425-1700
- SVNKit 1.8.14 实现(可选)6.0.4.I20161211-1700
- M2E项目的颠覆性SVN集成(可选)4.0.0.I20160226-1700
卸载最后一个(可选)插件后 ("Subversive SVN Integration for the M2E Project") explorer's tortoise 上的锁不再发生。
所以我很高兴,因为我在 eclipse 中使用的所有功能仍然有效,资源管理器中的 tortoise 也有效。通常我只在 eclipse 中使用 "team/show annotation" 上下文菜单,我在 explorer 中通过 tortoise 做的所有其他 SVN 东西。
我有一台装有最新 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 上更改任何设置吗?
更多细节:
- 我的 SVN 项目和 TortoiseSVN 本身都放在我的本地硬盘上(没有网络文件系统),并且它们的文件夹被排除在杀毒软件之外。
- 工作副本文件夹不是网络共享的(也不是本地共享的,我是该 PC 上的唯一用户)。
- 我也没有 Dropbox、Google Drive 或任何其他同步文件夹的云软件。
- 它是 TortoiseSVN 特有的,当我从 Eclipse 提交更改时,我从未遇到过这个错误。
- 虽然我真的不认为这是一个 TortoiseSVN 错误,我最近从版本 1.9.6 更新到 1.11.0 并且两者都有同样的问题,如果这真的是一个错误它肯定会被修复.. 。 正确的? :)
- 我是目前唯一参与这些项目的开发人员(这不是我的本地数据库过时或存在冲突的问题)。
编辑:问题实际上并不是由 Eclipse 本身引起的。它要么是 Subversive 插件,要么是 SVNKit 连接器。我已经切换到 Subclipse 和 JavaHL,问题已经完全消失了。我没试过Subclipse+SVNKit,也没试过Subversive+JavaHL,我猜这些组合中的一个也能解决问题,另一个不会。
看来问题出在Eclipse上。我们通常这样构建我们的 SVN 项目:
/trunk
/docs
/etc
/scripts
/source
/pom.xml
/src/main/...
我签出整个主干(或某个分支),然后将源项目导入 Eclipse。
为了管理代码更改,我在 Eclipse 中使用了 SVN 同步视图,它比 TortoiseSVN 更加用户友好(只是我的看法)。对于 /source 文件夹之外的更改,我必须使用 TortoiseSVN,因为这些文件不在 Eclipse 中。
问题显然是,Eclipse 有一些后台进程 "updates the SVN cache" 每隔几分钟,即使您没有对该项目进行任何更改,只是在工作区中打开它也是如此。它搞乱了 TortoiseSVN,因此出现错误,除非我执行清理。
There is an option 在 Eclipse 中,在 Team > SVN > Performance 下,它允许禁用 SVN 状态缓存...但我上次尝试时,它并没有阻止这个问题,它只是让 Eclipse SVN 同步速度较慢。
我想我在这里唯一的选择是为 Eclipse 和 TortoiseSVN 使用不同的结帐文件夹(呃......),或者在 Eclipse 中禁用 SVN 并始终使用 TortoiseSVN(呃......)。
我也认为锁是eclipse插件引起的。这里有一些关于我的设置以及我如何解决这个问题的更多细节:
Tortoise:TortoiseSVN 1.12.2,内部版本 28653 - 64 位,2019/08/04 13:03:09
Subversion:Subversion 1.12.2,-release
Eclipse:Spring 工具套件版本:3.9.6.RELEASE(eclipse Eclipse 2018-09 (4.9.0))
eclipse 中的 SVN 插件:
- 颠覆性修正图(可选)4.0.0.I20160226-1700
- 颠覆性 SVN 连接器 6.0.4.I20161211-1700
- 颠覆性 SVN Team Provider 4.0.5.I20170425-1700
- SVNKit 1.8.14 实现(可选)6.0.4.I20161211-1700
- M2E项目的颠覆性SVN集成(可选)4.0.0.I20160226-1700
卸载最后一个(可选)插件后 ("Subversive SVN Integration for the M2E Project") explorer's tortoise 上的锁不再发生。
所以我很高兴,因为我在 eclipse 中使用的所有功能仍然有效,资源管理器中的 tortoise 也有效。通常我只在 eclipse 中使用 "team/show annotation" 上下文菜单,我在 explorer 中通过 tortoise 做的所有其他 SVN 东西。