SVN说我需要进行清理,但清理失败了

时间:2008-12-05 18:18:28

标签: windows svn windows-vista tortoisesvn

!!!这不是一个重复的问题,因为其他主题中提供的解决方案对我不起作用。

当我尝试提交时:

错误:工作副本'D:\ Webs \ Drupal 6'已锁定 错误:请执行“清理”命令。

当我尝试清理时:

清理无法处理以下路径: D:\ Webs \ Drupal 6

有谁知道如何解决这个问题?

4 个答案:

答案 0 :(得分:10)

如果你这样做是否有用

  • 一个新的“干净”结帐
  • 使用合并/差异工具
  • 将已修改的文件合​​并到新的结帐文件夹中
  • 提交

编辑:根据derobert评论更新了第2点。

答案 1 :(得分:2)

如果你还没有修改D:\Webs\Drupal 6,那么最简单的方法就是核对它,然后让svn co再次从服务器中获取它。

或者,如果您修改了文件,可以尝试使用divo的建议,但要注意意外恢复其他人的更改。

或者,您可以查看.svn目录并尝试手动清除锁定。

编辑:以下是核武/复制程序如何恢复其他人的变化:

  1. 结帐,获取r1;
  2. 修改foo.c,给出r1 +更改;
  3. 其他人检查foo.c的更改(当然,你不知道他们已经完成了这个,并且正常的检查方式已经破坏了),repo中的foo.c现在是r2;
  4. 除了foo.c(r1 +更改);
  5. 之外,您现在将您的存储库编入核心
  6. 你做结帐,得到foo.c r2。
  7. 用您的副本替换foo.c(r1 +更改)。然而,Subversion没有意识到这一点,并认为你的改变是基于r2而不是r1。
  8. Checkin,foo.c现在是r3,刚刚失去了r2中其他人的变化。
  9. 希望澄清该程序如何意外地恢复其他人的变化。这是可以避免的,但前提是你知道它会如何发生!

答案 2 :(得分:0)

我刚刚浏览并删除了所有相关的.svn文件夹,然后进行了清理。效果很好!

答案 3 :(得分:0)

/ *

我遇到了类似的问题。使用svn cleanup的建议没用,因为cleanup给出了同样的错误(在这种情况下是递归的)。最后,我意识到我已经将远程仓库中检出的工作区导入到我的本地,所以我用导出替换了checkout,删除了repo路径,重新创建了它,并将其签入。在一次检查失败后,由发送端和接收端路径级别的模糊性(!),我能够没有问题地结账。这告诉我,可能旧的.svn组件是导入的一部分并且令人困惑的颠覆,并且它不足以忽略它们。每次我尝试创建存储库时,都会重新学习。

* /

没关系。我犯了以下错误: 1)编辑导出命令,而不是结帐命令; 2)省略了从目的地的完整路径,最终在一个隐藏在Windows的cygwin子目录中!