2

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

但是我有我认为是一个特例。在过去的几年里,我的团队在做一些 iOS 项目,并不是所有的项目都密切相关,但它们共享一些公共代码,并且它们在同一个 svn repo 上进行管理。

现在的问题是:公司决定将其中一个项目的进一步开发转让给第三方。我们需要给他们那个项目的代码——包括历史——但我们不想给他们其他项目的代码。

我怎样才能做到这一点?由于 Svndumpsanitizer 的作者所记录的原因,转储|过滤|加载循环并不能解决问题。不幸的是,Svndumpsanitizer 本身也没有。我目前的方法是将 repo 迁移到 git,您可以在其中删除历史记录。但我认为这是矫枉过正。

4

1 回答 1

2

就我看到的 ATM 而言,官方的 Apache Subversion FAQ 条目适用于您的案例。

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

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

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

还要检查这个答案:https ://stackoverflow.com/a/13720677/761095 。

于 2013-03-20T22:14:29.993 回答