【问题标题】:How can I restore svn control if the .svn folder has been damaged?如果 .svn 文件夹已损坏,如何恢复 svn 控制?
【发布时间】:2008-09-18 20:02:16
【问题描述】:

我有几个大型结帐,其中 .svn 文件夹已损坏,因此我收到错误消息“清理无法处理以下路径..”并且我无法再提交或更新该目录中的文件.

我只是删除并再次结帐,但整个目录已经结束了。

是否有工具可以恢复特定文件夹的 .svn 文件夹,而无需下载所有内容?

我知道它必须下载该文件夹中的所有文件,以便确定它们是否已更改..但是具有有效 .svn 文件夹的子目录应该没问题。

哦..我是 TortoiseSVN 或 linux 命令行的忠实粉丝。

想法?

【问题讨论】:

    标签: svn


    【解决方案1】:

    如果您对文件进行了更改并且无法删除它们,您可以使用 Subversion 1.5 功能,该功能允许您“结帐”。

    只需删除该目录下的 .svn 目录即可:
    (使用 --depth 文件时不需要删除内部目录,谢谢 Eric)

    如果损坏的目录是工作副本的顶级目录:

    svn checkout --depth files --force REPOS WC
    

    如果损坏的目录上面的目录仍然是版本化运行:

    svn update --depth files --force WC
    

    在那个目录中。
    在这两个示例中,REPOS 是存储库中与损坏目录匹配的 url,而 WC 是目录的路径。

    最初修改的文件在此之后将处于修改状态。

    【讨论】:

    • 我可以通过将“--depth files”siwtch 添加到 checkout 命令来避免删除子目录中的 .svn 文件夹。您能否编辑帖子以反映这一点,并可能澄清 REPOS 和 WC 文本。谢谢!
    【解决方案2】:

    如果您知道哪个文件夹有损坏的 .svn 目录,您可以删除那个目录并再次运行 svn 更新。您可能必须删除整个目录,包括其当前内容。当然,如果 .svn 目录损坏的文件夹是包含千兆字节的文件夹,那么您又回到了开始的位置。

    【讨论】:

    • 如果你有颠覆
    【解决方案3】:

    备份缺少 .svn 的文件夹

    然后删除文件夹

    如果是根结帐,则必须重新结帐

    如果不是根目录,只需从上面的目录运行更新即可。

    然后将备份文件夹移到上面。 (最好不要移回 .svn 文件夹)

    继续工作并确保更新/提交!

    【讨论】:

      【解决方案4】:

      我过去遇到过这个问题,除了“核选项”(即删除目录并重新结帐)之外没有找到任何可行的解决方案。

      不确定这是否是您的问题,但我的损坏是由与 SVN 服务器位于同一台计算机上的按访问病毒扫描程序引起的。

      【讨论】:

      • 我刚刚用乌龟做了那个。确保更新存储库 url 以匹配您的文件夹的路径,因为您可能不会在 root 中执行此操作。
      【解决方案5】:

      如果子目录正常并且子目录很大,您可以尝试非递归全新结帐。

      【讨论】:

        【解决方案6】:

        我选择的解决方案可以恢复顶级 .svn 文件夹,但它无法识别子对象,因此此时一切对 SVN 来说似乎都是陌生的,尽管子文件夹中的版本控制是完整的。

        【讨论】:

          【解决方案7】:

          我今天遇到了同样的错误。当我尝试切换分支并且无法删除不在 svn 存储库中的文件之一时,就会发生这种情况。之后,该文件夹被锁定,我无法使用任何命令使其再次工作。

          我基本上删除了我拥有的东西并重新结帐。这很耗时,但我真的想确保 svn 清晰,然后才能重新开始工作。谢谢!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-02
            • 2011-07-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多