我正在使用cvs2svn将一个大型的多项目CVS存储库转换为Subversion。它的工作非常好,但有一些CVS项目确实应该是其他项目的分支。
使用选项文件我可以指定项目'ShouldBeBranch'的主干应该放在'/ OtherProject / branches / ShouldBeBranch'中,但我找不到避免为标签创建Subversion目录的方法和ShouldBeBranch项目的分支(它们是空的,但仍然被创建)。
目前唯一可以看到的选项是转换完成后从Subversion删除目录,但我想知道是否有人知道这可以在转换过程中完成?我也查看了符号提示文件,但有270个项目按索引号指定项目看起来太难了!
非常感谢, 大卫
答案 0 :(得分:2)
据推测,您的“ShouldBeBranch”项目本身就有分支和标签。你希望那些人最终在哪里?
如果您只想将“ShouldBeBranch”项目的主干包含在转换中:
添加“ShouldBeBranch”项目的选项文件部分将包含如下行:
run_options.add_project(
# ...
trunk_path='OtherProject/branches/ShouldBeBranch',
branches_path=None,
tags_path=None,
# ...
symbol_strategy_rules=[
ExcludeRegexpStrategyRule(r'.*'),
],
)
答案 1 :(得分:1)
导入后进行修正对我来说似乎是最好的。如果您将项目的项目\ trunk移动到分支\某事,Subversion将只跟踪历史记录。
此blog post描述了使用转储/加载周期重命名路径的方法。这种方式会改变历史,这样当你回顾文件的历史时,它们似乎总是在分支机构内部。\ / p>
如果你要回到旧版本,你期望它在项目\ trunk中。因此,我认为尝试改变历史不是一件好事。