我知道整个转储|过滤器|加载、删除等问题。而且我同意,通常您实际上不必从历史记录中删除文件。
但是我认为有一个特殊情况。 在过去的几年里,我的团队正在开发一些 iOS 项目,并非所有项目都密切相关,但它们共享一些通用代码,并且在同一个 svn 存储库上进行管理。
现在的问题是:公司决定将其中一个项目的进一步开发转移给第三方。我们需要向他们提供该项目的代码(包括历史记录),但我们不想向他们提供其他项目的代码。
我怎样才能做到这一点?由于 Svndumpsanitizer 作者记录的原因,转储|过滤器|加载周期并不能解决问题;不幸的是,Svndumpsanitizer 本身也没有。 我当前的方法是将存储库迁移到 git,您可以在其中删除历史记录。但我认为这有点过分了。
最佳答案
The official Apache Subversion FAQ entry据我所知,ATM 适用于您的情况。
允许您过滤存储库历史记录的新方法应该会有所帮助:
在配置基于路径的授权规则(拒绝对需要从存储库历史记录中过滤掉的任何路径的读取访问权限)后,您可以使用 svnsync 工具复制存储库。
与svndumpfilter
不同,svnsync
会自动将具有不可读源路径的复制操作转换为正常添加,如果需要过滤涉及复制操作的历史记录,这非常有用。
关于svn - 从 svn 存储库中过滤大量敏感代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15535334/