工作时如何用git强制使用CVS游击VC?

rjh*_*rjh 8 migration git cvs git-cvs

我的工作地点目前使用CVS.计划进行git迁移,但可能需要很长时间.与此同时,我有一个单人项目,并决定使用git进行个人开发.分支,上演提交,变基等等都非常棒!但不幸的是,在某些时候,这个项目及其历史需要导入CVS,以便其他人可以检查我的进度.

什么是最好的方式......

  • 将当前项目(最好是作为一组单独的提交/修订)导入CVS
  • 允许将可更改的未来更改导入CVS
  • (奖金问题 - 理想但不是必需的)将其他开发人员的任何CVS更改合并到git中

如果重要的话,目前CVS中没有任何内容.(如果我按照自己的方式在CVS中没有任何东西,但我现在已经坚持了!)提前感谢!

Dav*_*man 2

虽然我没有明确的 CVS 知识,但我建议采用以下设置。

  • Work\Project.git<-- git 仓库
  • Sync\Project<-- git 克隆主分支..\Work\Project.git+ CVS 版本控制此文件夹。

您可以在其中执行所有 git 操作,Project.git并且当您想要导入 CVS 时,您可以执行Sync\Projectagit pull来重播同步目录中的更改(也许您需要在 CVS 中执行完整的目录检出?)。

对于相反的情况,您可能需要使用导入分支,但我认为可以从同步文件夹中的同事获取更改,但在新分支中导入,并将其与您的主分支合并从你的主 git 存储库中提取。合并后,您可以将git push更改返回到您的Work\Project.git.

本质上,就像您是另一个开发人员一样使用您的同步存储库。您甚至可以让常规存储库从您的同步中拉取(因此向自己发送拉取请求;-))或使用 git 发送补丁机制来更新您的主 git 存储库。

在 git 中导入 CVS 更改集,有一个 git-cvsimport 可以帮助你。