5

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

当我尝试提交时:

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

当我尝试进行清理时:

清理未能处理以下路径:D:\Webs\Drupal 6

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

4

4 回答 4

10

如果你这样做,它会起作用吗

  • 新的“干净”结帐
  • 使用合并/差异工具将您修改的文件合​​并到新的结帐文件夹中
  • 犯罪

?

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

于 2008-12-05T18:23:58.293 回答
2

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

或者,如果您修改了文件,您可以尝试divo 的建议,但要小心意外还原其他人的更改。

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

编辑:以下是 nuke/copy 程序如何恢复其他人的更改:

  1. 结帐,获取 r1;
  2. 修改 foo.c,给 r1 + 修改;
  3. 其他人检查了对 foo.c 的更改(当然,您不知道他们已经这样做了,并且正常的检查方式对您来说是错误的),回购中的 foo.c 现在是 r2;
  4. 您现在核对您的存储库,除了 foo.c(r1 + 更改);
  5. 你结帐,得到 foo.c r2。
  6. 您将 foo.c 替换为您的副本(r1 + 更改)。然而,Subversion 并没有意识到这一点,并认为您的更改基于 r2,而不是 r1。
  7. Checkin,foo.c 现在是 r3,刚刚丢失了对方在 r2 中的更改。

希望澄清该程序如何意外恢复其他人的更改。它可以避免,但前提是你知道它是如何发生的!

于 2008-12-05T18:29:23.150 回答
0

我刚刚浏览并删除了所有相关的 .svn 文件夹,然后进行了清理。完美运行!

于 2009-06-11T14:49:08.483 回答
0

/*

我遇到了类似的问题。使用 svn cleanup 的建议没有用,因为 cleanup 给出了相同的错误(在这种情况下是递归错误)。最终,我意识到我已经将一个从远程仓库签出的工作区导入到本地仓库,所以我用导出替换了签出,删除了仓库路径,重新创建它,然后签入。在一次失败的签出后,由于发送端和接收端的路径级别不明确(!),我能够毫无问题地结帐。这向我表明,也许旧的 .svn 组件是导入的一部分并且混淆了颠覆,并且它没有足够的知识来忽略它们。每次我尝试创建存储库时,都是一次重新学习的经历。

*/

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

于 2013-11-08T19:26:42.303 回答