【问题标题】:How to remove an accidentally put large file (4GB) from Subversion repository?如何从 Subversion 存储库中删除意外放置的大文件(4GB)?
【发布时间】:2010-12-11 12:16:34
【问题描述】:

这个文件被错误地放入了 repo 并被删除并添加到了忽略列表中。但是,因为它曾经存在,所以我的 repo 现在大小超过 4GB,并且一些 SVN 功能需要数年才能完成。我将不胜感激任何帮助和提示。 (如果重要的话,我在 XP 上)

【问题讨论】:

    标签: windows svn repository


    【解决方案1】:

    如何从存储库的历史记录中彻底删除文件?
    在某些特殊情况下,您可能想要销毁文件或提交的所有证据。 (也许有人不小心提交了一份机密文件。)这并不容易,因为 Subversion 被刻意设计为永远不会丢失信息。修订是相互依赖的不可变树。从历史中删除修订会导致多米诺骨牌效应,在所有后续修订中造成混乱,并可能使所有工作副本无效。

    然而,该项目计划在某一天实施一个 svnadmin obliterate 命令,该命令将完成永久删除信息的任务。 (见issue 516。)

    与此同时,您唯一的办法是 svnadmin 转储您的存储库,然后通过 svndumpfilter(不包括错误路径)将转储文件传送到 svnadmin 加载命令中。有关详细信息,请参阅 Subversion 书籍的chapter 5

    http://subversion.tigris.org/faq.html#removal

    【讨论】:

      【解决方案2】:

      来自FAQ

      如何从 存储库的历史记录?

      有 您可能想要的特殊情况 销毁文件的所有证据或 犯罪。 (也许有人不小心 提交了一份机密文件。) 这并不容易,因为 Subversion 故意设计成永不丢失 信息。修订是不可变的 相互依存的树木。 从历史中删除修订会 造成多米诺骨牌效应,制造混乱 在所有后续修订和 可能使所有工作无效 副本。

      但是,该项目有计划 有一天会实现一个svnadmin obliterate 命令 完成永久任务 删除信息。 (见issue 516。)

      与此同时,您唯一的办法是 到 svnadmin dump 你的存储库,然后 通过管道传输转储文件 svndumpfilter(不包括坏路径) 进入svnadmin load 命令。看 Subversion 书的第 5 章 有关此的详细信息。

      【讨论】:

        猜你喜欢
        • 2010-11-11
        • 1970-01-01
        • 2014-11-29
        • 2010-11-23
        • 1970-01-01
        • 2011-01-04
        • 2011-06-04
        相关资源
        最近更新 更多