我正在使用 cvs2svn 将大型多项目 CVS 存储库转换为 Subversion。它工作得非常好,但是有一些 CVS 项目确实应该是其他项目的分支。

使用选项文件,我可以指定项目“ShouldBeBranch”的主干应放置在“/OtherProject/branches/ShouldBeBranch”中,但我找不到避免为标签和分支创建 Subversion 目录的方法ShouldBeBranch 项目(为空,但仍已创建)。

目前我能看到的唯一选择是在转换完成后从 Subversion 中删除目录,但我想知道是否有人知道在转换过程中可以完成此操作的方法?我还查看了符号提示文件,但是有 270 个项目,通过索引号指定项目看起来太困难了!

非常感谢,大卫

有帮助吗?

解决方案

想必您的“ShouldBeBranch”项目本身就有分支和标签。你希望这些最终去向哪里?

如果您只想将“ShouldBeBranch”项目的主干包含在转换中:

  • 从“ShouldBeBranch”项目中排除所有其他符号
  • 将其 trunk_path 设置为其他项目中的路径
  • 在选项文件中将branches_path和tags_path设置为None(这会阻止创建它们)

因此,选项文件中添加“ShouldBeBranch”项目的部分将包含如下行:

run_options.add_project(
    # ...
    trunk_path='OtherProject/branches/ShouldBeBranch',
    branches_path=None,
    tags_path=None,
    # ...
    symbol_strategy_rules=[
        ExcludeRegexpStrategyRule(r'.*'),
        ],
    )

其他提示

在做的修正导入好像在我身上最好的事情后。如果你使用svn项目的招项目\主干分支\东西,Subversion会只是跟踪历史。

博客帖子介绍一种方法做重命名使用转储/负载循环路径。这样,将改变历史,这样,当你在文件的历史回顾它似乎是他们一直分支\里面的东西。

如果你是回到旧版本,你的期望的它是在项目\行李箱。因此,我不认为这是试图改变历史是件好事。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top