代码之家  ›  专栏  ›  技术社区  ›  ken

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

  •  4
  • ken  · 技术社区  · 17 年前

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

    当我试图承诺:

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

    当我尝试清理时:

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

    4 回复  |  直到 17 年前
        1
  •  10
  •   Dirk Vollmar    17 年前

    你这样做行吗

    • 新的“干净”结帐
    • 犯罪

    ?

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

        2
  •  2
  •   derobert    17 年前

    如果你没有修改 D:\Webs\Drupal 6 ,那么最简单的事情可能就是使用核弹,然后让svn再次从服务器上获取它。

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

    或者,你可以看看 .svn

    编辑: 以下是nuke/copy过程如何还原其他人的更改:

    1. 结帐,得到r1;
    2. 修改foo.c,给出r1+变化;
    3. 其他人签入对foo.c的更改(当然,你不知道他们这样做了,正常的检查方式对你来说是坏的),回购中的foo.c现在是r2;
    4. 你现在可以核化你的存储库,除了foo.c(r1+changes);
    5. 您将foo.c替换为您的副本(r1+更改)。然而,Subversion并没有意识到这一点,并且认为您的更改是基于r2,而不是r1。

    希望能澄清这个程序是如何意外地恢复别人的改变的。它是可以避免的,但前提是你知道它是如何发生的!

        3
  •  0
  •   Ben    17 年前

        4
  •  0
  •   Jerry Miller    12 年前

    /*

    我遇到了类似的问题。使用svn cleanup的建议是无用的,因为cleanup给出了相同的错误(在本例中是递归错误)。最后,我意识到我已经将一个从远程repo签出的工作区导入了本地工作区,所以我用导出替换了签出,删除了repo路径,重新创建了它,并签入了它。一次签出失败后,由于发送端和接收端的路径级别不明确(!),我可以结帐没有问题。这对我来说意味着,可能旧的.svn组件是导入的一部分,是混乱的subversion,它不知道如何忽略它们。每次尝试创建存储库时,都是一次重新学习的体验。

    */

    不要介意。我犯了以下错误: 1) 编辑了导出命令,而不是签出命令;

    推荐文章