【发布时间】:2012-06-26 18:14:49
【问题描述】:
我已经在谷歌上搜索了很多这个问题,但没有找到我需要的东西。
我有一个看起来像这样的存储库
/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”下,那将是完美的(下次我会这样工作),但是当分支是另一个分支的副本时,有时会被重命名,删除,重新录制等...我认为它无法正常工作。
有什么工具或什么可以帮助我完成这里的工作吗?
谢谢
【问题讨论】:
-
基于路径的授权功能(在服务器端)应该在这里有所帮助,我认为 - 您是否尝试为
svnsync设置受限帐户? -
@sendmoreinfo 这真是个好主意,应该可以。我已经很久没有问这个问题了,这个“摘录”暂时被推迟了。如果我有空闲时间,我会尝试一下,并会及时更新
-
@sendmoreinfo 成功了!使用基于路径的授权来限制该用户的访问只是一种痛苦。更多信息:stackoverflow.com/questions/3504851/…
-
嗯,如何将评论转换为答案...
-
@sendmoreinfo 我碰巧和 Eric Bonnot 一起工作,所以只需将您的评论复制/粘贴到答案中,我就会接受。谢谢!
标签: svn branch svnsync svndumpfilter svndump