【问题标题】:Concatenate CVS and Git repos into one Git repo将 CVS 和 Git 存储库连接到一个 Git 存储库中
【发布时间】:2016-05-29 17:41:29
【问题描述】:

这是一个多阶段的问题。我在寻找 完成它的最新技术 并链接单独的资源做脱节 零件。

我需要什么的简短故事:

  1. 将完整历史的 CVS 存储库转换为 git 作为基础
  2. 在上述基础上为同一项目连接现有的 git 存储库
  3. 在 github 上发布合并的 repo
  4. 从第二步开始合并分叉

我的问题如下(更长的故事):

  • 我有一个比较大的原始CVS repo,姑且称之为O_cvs 有一些分支、标签等,有 10 多年的历史。
  • 在某个时候,该回购O_cvs 的结帐副本(其中之一)已制作 并以 Git 存储库为起点,我们称之为O_git。那里 没有对O_cvs 的进一步承诺;迁移后,O_cvs 也没有进一步开发的计划。
  • O_git 添加了许多功能并分叉了一些项目,其中一些 通过拉取请求合并,有些则不是,例如F1_gitF2_git 等。

因此,我的计划在适当的时候提出了问题:

  1. 我关心O_cvs 中的历史、贡献者和标签,我会 喜欢保存为基地。 因此,我想生成一个 repo,让我们从O_cvs 将其称为G_git(本地?)。 目前推荐的工具是什么 为了我?我在这里和其他地方进行了研究,发现了不同的建议 多年来发布的特色,例如,herehereand here
  2. 然后我计划在 GitHub 上发布G_git(这里唯一的问题应该是这个顺序),作为G
  3. 我关心 O_git 及其分支,托管在其他地方,所以我会把它拉进去。
  4. 我想连接 G_git + O_git 的历史记录,并将它们推送到 GitHub,合并到合并的 repo G。 从我的研究来看,“嫁接”和快速导入似乎是要走的路。
    • 我也可以graftO_git 到 GitHub 上的G_git 上(应该在将G_git 推送到 GitHub 之前完成嫁接吗?)
  5. 我将处理从F1_gitF2_git 等到O_git 的拉取请求(可能需要一段时间,但G 需要尽快推出)将它们整合到G 中(会有有问题吗?我是否必须通过中间步骤到O_git,然后通过额外的遥控器到G?)

感谢您对当前工具和上述顺序以及相关缺陷的建议。

【问题讨论】:

    标签: git github version-control merge cvs


    【解决方案1】:

    推荐的最佳解决方案(我在该问题上经验丰富)是将 CVS 存储库保留为只读存储库,并将最新修订版合并到没有历史记录的 git 存储库。从长远来看,您将从中受益匪浅!

    关于迁移的工具,试试(我的工具):https://github.com/tikalk/tikal-alm-tools

    【讨论】:

    • 您的底层工具使用cvs2git——为什么要专门选择这个?我也关心历史和贡献者,尤其是O_cvs
    • 忘了提到 CVS 存储库不打算在迁移完成后用于未来的开发。我将为此编辑问题。
    • 嗯,我很久以前写的,所以我不记得为什么了,但它对我迁移多个客户项目很有用
    猜你喜欢
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 2023-04-06
    • 2016-08-15
    • 2020-10-25
    • 2013-02-23
    • 1970-01-01
    相关资源
    最近更新 更多