windows 如何解决 SVN 错误“E200030:在 '<CHECKOUT_DIRECTORY>' 中检测到未完成的事务”?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/34934731/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How do I resolve SVN error "E200030: There are unfinished transactions detected in '<CHECKOUT_DIRECTORY>'"?
提问by Chris Tophski
I have installed a virtual box with Windows 10, Eclipse Mars, Subversive Plugin, SVNKit 1.8.11 and tried to set up some repositories in a configuration I already did successfully in several other environments. The SVN server is a Debian 7 system with Subversion 1.6.17. The following problem occurs only since I set up the above mentioned system:
我已经安装了一个带有 Windows 10、Eclipse Mars、Subversive Plugin、SVNKit 1.8.11 的虚拟机,并尝试在我已经在其他几个环境中成功完成的配置中设置一些存储库。SVN 服务器是 Debian 7 系统,Subversion 1.6.17。仅在我设置了上述系统后才会出现以下问题:
- Check-out: e. g. SVN-Repositories -> expand Repository X -> right-click on trunk -> check-out -> Error occurs: "Checkout operation for 'svn://host/X/trunk' failed. svn: E200030: There are unfinished transactions detected in 'C:\PathToWorkspace\X'"
- After this the Subversive plugin stops working, apparently.
- Export: same result as check-out
- 签出:例如 SVN-Repositories -> 展开 Repository X -> 右键单击主干 -> 签出 -> 发生错误:“'svn://host/X/trunk' 的签出操作失败。svn:E200030 : 在'C:\PathToWorkspace\X' 中检测到未完成的事务"
- 在此之后,颠覆性插件显然停止工作。
- 导出:与结帐结果相同
Further investigation got me to a specific file in the repository, which fails loading with "invalid handle" error. It is not in a "strange" path (not too long, no spaces or special characters) and the file itself contains no suspicious characters, just Unix line breaks. Permissions and space on disk are OK. Other respositories with the same properties DO work as expected.
进一步的调查让我找到了存储库中的一个特定文件,该文件因“无效句柄”错误而无法加载。它不在“奇怪”的路径中(不要太长,没有空格或特殊字符)并且文件本身不包含可疑字符,只有 Unix 换行符。权限和磁盘空间正常。具有相同属性的其他存储库按预期工作。
I found posts with similar problems, but none of them applied to mine, apparently. They told me to wipe my workspace directory (which I did), but I just lost all of my settings without solving the problem. After this, I investigated the program directory of Eclipse, whicht didn't bring any more success.
我发现有类似问题的帖子,但显然没有一个适用于我的。他们告诉我擦除我的工作区目录(我这样做了),但我只是丢失了所有设置而没有解决问题。在这之后,我调查了Eclipse的程序目录,并没有带来更多的成功。
Additionally, the ".svn\wc.db" file is still locked after the failure. Deleting the repository is therefore not possible until closing Eclipse. The directory is not listed in any project list/tree in eclipse like the package explorer, but the directory exists on the disk.
此外,“.svn\wc.db”文件在失败后仍被锁定。因此,在关闭 Eclipse 之前无法删除存储库。该目录没有像包资源管理器那样在eclipse中的任何项目列表/树中列出,但该目录存在于磁盘上。
The same repository X still works in every of the other configurations I have. How can I reset these "transactions" in order to repair this? I really would like to avoid completely reinstalling Eclipse or even Windows.
同一个存储库 X 仍然适用于我拥有的所有其他配置。如何重置这些“交易”以修复此问题?我真的很想避免完全重新安装 Eclipse 甚至 Windows。
EDITI istalled TortoiseSVN 1.16.16.21511 (x64), which perfectly fits to the SVN service version. Same problem.
编辑我安装了 TortoiseSVN 1.16.16.21511 (x64),它非常适合 SVN 服务版本。同样的问题。
采纳答案by Chris Tophski
I finally got it: creating the files "con.cpp" and "con.h" from the project had apparently been rejected by Windows. As far as I remember, "con" is kind of a reserved command or sub command in Windows. Renaming it to something else right in the repository solved the problem.
我终于明白了:从项目创建文件“con.cpp”和“con.h”显然被Windows拒绝了。据我所知,“con”是 Windows 中的一种保留命令或子命令。将其重命名为存储库中的其他名称解决了该问题。
回答by della pramukti raharjo
First, try:
第一次尝试:
- Right-click the project -> Team -> Cleanup.
- 右键单击项目-> 团队-> 清理。
If that didn't help:
如果这没有帮助:
- Restart Eclipse -> Team -> Cleanup
- 重启 Eclipse -> 团队 -> 清理
回答by Hany Sakr
I got the same error in my case but in different situation, I was working on the shared folder using both Eclipse and Tortoise SVN, and Eclipse was not able to clean up or do any commit, so I tried to close Eclipse and do clean up from outside using tortoise. it worked.
我遇到了同样的错误,但在不同的情况下,我同时使用 Eclipse 和 Tortoise SVN 处理共享文件夹,而 Eclipse 无法清理或执行任何提交,因此我尝试关闭 Eclipse 并进行清理从外面使用乌龟。有效。
回答by Rajendra Prasad Patil
When you are performing any team operations in eclipse ( such as commit, update, replace ) and if you cancel the operation in between. The files involved in the operation are locked.
当您在 Eclipse 中执行任何团队操作时(例如提交、更新、替换)以及您是否取消了操作之间的操作。操作中涉及的文件被锁定。
This is one of the possibilities for the error to appear.
这是出现错误的可能性之一。
To resolve this in Eclipse.
在 Eclipse 中解决这个问题。
Right Click on the project -> Team -> Cleanup
If the above process doesn't work
如果上述过程不起作用
Restart eclipse -> Right Click on the project -> Team -> Cleanup
If this didn't resolve the issue.
如果这没有解决问题。
Remove these locks explicitly.
明确删除这些锁。
Ubuntu
Ubuntu
Install svn if you haven't installed.
如果您还没有安装,请安装 svn。
sudo apt-get install subversion
Then clean the project folder.
然后清理项目文件夹。
svn cleanup /path/to/working-copy
Windows
视窗
Get Tortise SVN from this link.
从此链接获取 Tortise SVN 。
- After installing, Right-click on the project folder which is linked to SVN.
- There will be an option do SVN cleanup. Click on it. It takes some time to clean up. Then you are good to go.
- 安装后,右键单击与 SVN 链接的项目文件夹。
- 将有一个选项做 SVN 清理。点击它。需要一些时间来清理。然后你就可以走了。
This solution worked for me.
这个解决方案对我有用。
回答by Oliviero
i had an error also on the command 'cleanup' on a project, and restarting the eclipse didn't solve. i had to disconnect the project from svn and re-connect later
我在一个项目的命令“清理”上也有一个错误,重新启动 eclipse 没有解决。我不得不从 svn 断开项目并稍后重新连接