3

我已经用谷歌搜索了很多这个问题,但没有找到我需要的东西。

我有一个看起来像这样的存储库

/Project_A
  +- trunk
  +- branches
      +- Version_1
      +- Version_2
      +- 1st_Custom_version_for_customer_A
      +- 2nd_Custom_version_for_customer_A
/Project_B
  +- trunk
  +- branches
      +- Version_1
      +- Version_2
      +- 1st_Custom_version_for_customer_A
      +- 2nd_Custom_version_for_customer_A

树枝是它们的树干对应物的后代。例如对于 Project_A

Trunk ------------------------------------------------------>
Version_1   \--------->                    \
Version_2                  \--------->      \
1st_Custom_version_for_customer_A            \--------------->

自定义版本现在有了自己的生命,不再从主干获得任何更新(许多差异)。

我只需要在新存储库中提取与客户相关的修订。那就是: /Project_A/trunk 直到创建 1st_Custom_version_for_customer_A 的那一刻。然后是 /Project_A/branches/1st_Custom_version_for_customer_A 和 /Project_A/branches/2nd_Custom_version_for_customer_A。项目 B 也是如此。都在同一个存储库中。

我试过 svnsync 但只能提取 /Project_A/branches/2nd_Custom_version_for_customer_A,即使历史很好,我仍然看到其他分支的所有提交消息(这在我的情况下是一个问题)。

至于 svndumpfilter,如果我从一开始就将所有内容都放在“/Customer_A”下,那将是完美的(下次我会这样工作),但是当分支是另一个分支的副本时,有时会被重命名,删除,重新创建,等等...我看不到它工作正常。

有什么工具或东西可以帮助我在这里完成工作吗?

谢谢

4

1 回答 1

1

基于路径的授权功能(在服务器端)在这里应该有所帮助 - 您是否尝试过设置受限帐户svnsync

于 2013-04-22T08:59:08.053 回答