从Subversion源代码管理中删除最近签入的版本

时间:2016-03-25 00:39:38

标签: svn version-control

不确定这是否可行,但最近在不知不觉中将大量数据检入Subversion。我们宁愿完全删除已签入的数据。我们的理解是,通过版本控制,一旦您将某些内容提交到存储库,即使您已将其删除,也可以删除它。它仍然是旧版本。我们有什么选择吗?

1 个答案:

答案 0 :(得分:-1)

有一个选项,虽然它有点复杂(http://subversion.apache.org/faq.html#removal):

  

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

     

在某些特殊情况下,您可能想要销毁所有证据   一个文件或提交。 (也许有人不小心犯了一个   机密文件。)这不是那么容易,因为Subversion是   故意设计永不丢失信息。修改是   不可变的树木彼此建立。从中删除修订   历史将导致多米诺骨牌效应,随后造成混乱   修订并可能使所有工作副本无效。

     

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

     

与此同时,你唯一的办法是svnadmin转储你的   存储库,然后通过svndumpfilter管道转储文件(不包括   svnadmin load命令。参见第5章   颠覆书,了解详情。

     

另一种方法是使用svnsync复制存储库   配置拒绝读访问的基于路径的授权规则后   到需要从历史记录中过滤的任何路径。不像   svndumpfilter,svnsync将自动翻译复制操作   具有不可读的源路径到正常添加,这是有用的   如果需要过滤涉及复制操作的历史记录。