【发布时间】:2010-12-11 12:16:34
【问题描述】:
这个文件被错误地放入了 repo 并被删除并添加到了忽略列表中。但是,因为它曾经存在,所以我的 repo 现在大小超过 4GB,并且一些 SVN 功能需要数年才能完成。我将不胜感激任何帮助和提示。 (如果重要的话,我在 XP 上)
【问题讨论】:
标签: windows svn repository
这个文件被错误地放入了 repo 并被删除并添加到了忽略列表中。但是,因为它曾经存在,所以我的 repo 现在大小超过 4GB,并且一些 SVN 功能需要数年才能完成。我将不胜感激任何帮助和提示。 (如果重要的话,我在 XP 上)
【问题讨论】:
标签: windows svn repository
如何从存储库的历史记录中彻底删除文件?
在某些特殊情况下,您可能想要销毁文件或提交的所有证据。 (也许有人不小心提交了一份机密文件。)这并不容易,因为 Subversion 被刻意设计为永远不会丢失信息。修订是相互依赖的不可变树。从历史中删除修订会导致多米诺骨牌效应,在所有后续修订中造成混乱,并可能使所有工作副本无效。
然而,该项目计划在某一天实施一个 svnadmin obliterate 命令,该命令将完成永久删除信息的任务。 (见issue 516。)
与此同时,您唯一的办法是 svnadmin 转储您的存储库,然后通过 svndumpfilter(不包括错误路径)将转储文件传送到 svnadmin 加载命令中。有关详细信息,请参阅 Subversion 书籍的chapter 5。
【讨论】:
来自FAQ
如何从 存储库的历史记录?
有 您可能想要的特殊情况 销毁文件的所有证据或 犯罪。 (也许有人不小心 提交了一份机密文件。) 这并不容易,因为 Subversion 故意设计成永不丢失 信息。修订是不可变的 相互依存的树木。 从历史中删除修订会 造成多米诺骨牌效应,制造混乱 在所有后续修订和 可能使所有工作无效 副本。
但是,该项目有计划 有一天会实现一个
svnadmin obliterate命令 完成永久任务 删除信息。 (见issue 516。)与此同时,您唯一的办法是 到
svnadmin dump你的存储库,然后 通过管道传输转储文件svndumpfilter(不包括坏路径) 进入svnadmin load命令。看 Subversion 书的第 5 章 有关此的详细信息。
【讨论】: