2010-08-17 117 views
3

我试图从修订历史记录,我不是故意要提交删除特定文件删除特定文件。有人可以提供一种方法来做到这一点?从修订历史

+0

您可以接受和/或给予好评的答案,如果它帮助。谢谢! – bahrep 2014-08-28 13:53:41

回答

2

你需要使用svndumpfilter工具。该过程涉及转储您的存储库,筛选(使用svndumpfilter)您的转储文件,并将结果重新加载到新的存储库中。有关详细信息,请参见SVNBook中的this chapter

-2

无法删除的修订历史。

+1

这不是真的...这就是过滤流实用程序的整个“存在的理由”。 – Mark 2010-08-31 16:56:32

2

除了过滤库转储svndumpfilter还有另一种解决方案,允许您在一个仓库摆脱特定的文件和文件夹。请参阅Apache Subversion FAQ条目"How do I completely remove a file from the repository's history?"

的解决方案需要执行以下步骤:

  1. 设置path-based authorization规则否认读取到路径的文件或要删除的文件夹的USERNAME访问来自存储库历史。请注意复数名词路径。您想要摆脱的文件或文件夹可能具有不同的名称,或者可能位于存储库历史记录的不同位置。设置拒绝规则时请考虑这一点。

  2. 创建一个空的存储库,

  3. 使用svnsync工具将源(即,原始的)储存库到目标存储库下帐户USERNAME同步。有关使用svnsync进行存储库复制的详细信息,请参阅SVNook章节"Repository Replication"

不像svndumpfiltersvnsync将自动不可读的源路径进入正常添加,如果历史涉及复制操作需要过滤这是有用的翻译复制操作。