svn - 从 svn 存储库中过滤大量敏感代码

标签 svn version-control history obliterate

我知道整个转储|过滤器|加载、删除等问题。而且我同意,通常您实际上不必从历史记录中删除文件。

但是我认为有一个特殊情况。 在过去的几年里,我的团队正在开发一些 iOS 项目,并非所有项目都密切相关,但它们共享一些通用代码,并且在同一个 svn 存储库上进行管理。

现在的问题是:公司决定将其中一个项目的进一步开发转移给第三方。我们需要向他们提供该项目的代码(包括历史记录),但我们不想向他们提供其他项目的代码。

我怎样才能做到这一点?由于 Svndumpsanitizer 作者记录的原因,转储|过滤器|加载周期并不能解决问题;不幸的是,Svndumpsanitizer 本身也没有。 我当前的方法是将存储库迁移到 git,您可以在其中删除历史记录。但我认为这有点过分了。

最佳答案

The official Apache Subversion FAQ entry据我所知,ATM 适用于您的情况。

允许您过滤存储库历史记录的新方法应该会有所帮助:

在配置基于路径的授权规则(拒绝对需要从存储库历史记录中过滤掉的任何路径的读取访问权限)后,您可以使用 svnsync 工具复制存储库。

svndumpfilter不同,svnsync会自动将具有不可读源路径的复制操作转换为正常添加,如果需要过滤涉及复制操作的历史记录,这非常有用。

另请检查此答案:https://stackoverflow.com/a/13720677/761095 .

关于svn - 从 svn 存储库中过滤大量敏感代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15535334/

相关文章:

svn - 用于 Web 开发的 Subversion 部署工作流

svn - 编辑先前提交的 SVN 消息

java - Svn Merge不考虑Roo生成的aspectj文件

SVN+SSH,不用每次都做ssh-add吗? (苹果系统)

version-control - 删除了一些被 Mercurial 版本控制的文件,我该如何提交这些删除?

git - 我们可以在 Azure DevOps 中锁定文件吗?

git - 将一个 Subversion 存储库项目拆分为两个 Git 存储库

reactjs - react 路由器:MemoryHistory

git - 如何从 Git 中提取历史的子集?

git - 如何连接两个git历史?