我正在尝试从修订历史中删除我不想提交的特定文件。有人可以提供这样做的方法吗?
答案 0 :(得分:2)
您需要使用svndumpfilter
工具。该过程涉及转储存储库,过滤(使用svndumpfilter
)转储文件,并将结果重新加载到新存储库中。有关详细信息,请参阅SVNBook中的this chapter。
答案 1 :(得分:2)
除了使用svndumpfilter过滤存储库转储外,还有另一种解决方案可以让您删除存储库中的特定文件和文件夹。请参阅Apache Subversion FAQ条目"How do I completely remove a file from the repository's history?"。
该解决方案要求您执行以下步骤:
设置path-based authorization规则以拒绝 USERNAME 对该文件或文件夹的 PATHS 的读取权限您想要从存储库历史记录中删除。请注意复数名词路径。您要删除的文件或文件夹可以具有不同的名称,也可以位于存储库历史记录的不同位置。设置拒绝规则时请考虑这一点。
创建一个空存储库,
svnsync
工具将源(即原始存储库)与帐户 USERNAME 下的目标存储库同步。有关使用svnsync进行存储库复制的详细信息,请参阅SVNBook章节"Repository Replication"。与svndumpfilter
不同,svnsync
会自动将具有不可读源路径的复制操作转换为正常添加,如果需要过滤涉及复制操作的历史记录,这将非常有用。
答案 2 :(得分:-2)
您无法删除修订历史记录。