我已经搜索了相当多的问题,但没找到我需要的东西。
我有一个看起来像这样的存储库
/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”下的所有东西(下次我将以这种方式工作),那将是完美的,但是当分支是来自另一个分支的副本时,则有时会重命名,删除,recrated等...我认为它没有正常工作。
是否有工具或其他东西可以帮助我完成这项工作?
由于
答案 0 :(得分:1)
基于路径的授权功能(在服务器端)应该对此有所帮助 - 您是否尝试过设置svnsync
的已取消帐户?