为什么我不断收到'SVN:locking工作拷贝XXXX; 尝试执行“清理”?
如果你曾经在Eclipse(Subversion,颠覆)中使用SVN工具,那么你可能熟悉'工作副本'XXX'locking…'错误。
我发现了一个非常有用的post,解决了这个问题: SVN中的工作副本XXXlocking和清理失败
尽pipe解决方法是一样的,但是一遍又一遍地做这件事是很痛苦的。 有谁知道为什么我不断收到这个错误,我可以采取哪些措施来防止它?
上下文:我正在创build一个涉及监听SVN事件的Eclipse插件,所以在testing这个插件时,我总是打开和closures工作空间。 我每次打开工作区时通常会进行1或2次提交。 经常提交会失败,我得到“工作副本locking”的错误。 我会喜欢这个错误不再发生,所以任何build议表示赞赏。
谢谢!
- select项目
- 右键单击选定的项目
- 团队 – >清理
问题解决了。
注意:以上步骤仅适用于Eclipse(Indigo软件包)
通常一个.lock
文件被创build,它决定locking/解锁状态检查这个文件的存在。 我想如果你只删除这个.lock
文件,那么问题就会消失。
我以前有过很多关于SVN的问题,而且有一件事确实给我带来了问题,那就是修改Eclipse以外的文件或手动删除文件夹(包含.svn文件夹),这可能给我带来了最大的麻烦。
编辑你也应该小心,不要中断SVN操作,虽然有时候可能会发生一个错误,这可能会导致.lock
文件不能被删除,因此你的错误。
确保你完全清理了控制台所说的内容。 例如,如果一个子文件夹(一个包)被locking:
svn: E155004: Commit failed (details follow): svn: E155004: Working copy 'C:\Users\laura\workspace\tparser\src\de\test\order' locked svn: E155004: 'C:\Users\laura\workspace\tparser\src\de\test\order' is already locked.
清理C:/ Users / liparulol / workspace / tparser / src / de / mc / etn / parsers / order
那么你需要清理指定的文件夹,而不是整个项目。 如果你在eclipse中,右键单击包,而不是在项目文件夹中执行清理。
经过更多的探索和testing,似乎这个问题是由debugging插件和使用断点造成的。 SVN / Subclipse显然不喜欢在执行过程中有断点,因此这个锁文件正在被创build。 只要我开始运行插件,这个问题就消失了。
我有使用com.xxx.service.model
包相同的问题。
为了解决这个问题,我首先在模型包中进行了代码更改的备份。 然后删除模型包并与存储库同步。 它会显示传入整个文件夹/包。 然后更新我的代码。
最后,将旧代码提交粘贴到SVN存储库。 它工作正常。
当您项目中的某个文件夹出现问题时,会发生这种情况。 你需要find确切的文件夹,locking和执行特定文件夹下的svn cleanup
。 你可以这样解决这个问题:
- 运行
svn commit
命令找出哪个文件夹出错了。 - 改变目录到该文件夹并运行
svn cleanup
。 然后就完成了。
这发生在我从另一个颠覆项目复制目录,并试图提交。 解决办法是删除我想提交的目录中的.svn director。
下面应解锁一个locking的工作副本(在svn客户端版本1.6.11和椭圆版本上testing:Mars.2版本(4.5.2))
步骤1 :(转到工作副本目录)$ cd working_copy_dir
第2步:(连接到svn sqlite数据库)$ sqlite3 .svn / wc.db
步骤3 :(删除表WC_LOCK中的所有logging)sqlite>从WC_LOCK删除;
第4步:(从sqlite 3数据库断开连接)sqlite> ctrl + d
第5步:(从eclipse)右键单击您的工作副本,然后单击团队 – >刷新/清理
当你删除/移动文件时,这种types的问题可能会发生 – 实质上是改变你的目录结构。 Subversion只检查已经添加到subversion的文件中所做的更改,而不是对目录结构所做的更改。 而不是使用您的操作系统的副本等命令,而不是使用svn副本等请参阅http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html
此外,在提交更改之后,svn首先在待办事项列表中存储更改的“摘要”。 在此待办事项列表中执行svn操作时,会locking文件以防止执行这些svn操作时的其他更改。 如果svn动作中途中断,例如崩溃,文件将保持locking,直到svn可以完成待办事项列表中的动作。 这可以通过使用svn cleanup命令“重新激活”。 请参阅http://svnbook.red-bean.com/en/1.7/svn.tour.cleanup.html
解决方法: 步骤1:删除“.svn”隐藏文件下的“lock”文件。 第二步:如果没有“锁”文件,那么你会看到“we.db”你必须打开这个数据库,并需要从下面的表中单独删除内容– locking – wc_lock 第三步:清理你的项目第四步:尝试立即提交。 第五步:完成。