如何从Subversion存储库中删除意外放入大文件(4GB)?

时间:2009-10-30 05:09:26

标签: windows svn repository

这个文件被错误地放入了回购中并被删除并添加到忽略列表中。但是,因为一次存在,我的回购现在是> 4GB大小和一些SVN功能需要数年才能完成。我将不胜感激任何帮助和提示。 (如果重要,我会使用XP)

2 个答案:

答案 0 :(得分:6)

如何从存储库的历史记录中完全删除文件?
在某些特殊情况下,您可能希望销毁文件或提交的所有证据。 (也许有人意外地提交了一份机密文件。)这并不容易,因为Subversion是故意设计的,永远不会丢失信息。修订是不可变的树,彼此建立在一起。从历史记录中删除修订版会导致多米诺骨牌效应,在所有后续版本中造成混乱,并可能使所有工作副本无效。

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

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

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

答案 1 :(得分:5)

来自FAQ

  

如何从中完全删除文件   存储库的历史记录?

     

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

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

     

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