我们正在使用 git-cvsimport 定期将更改从 cvs 复制到 git
无论好坏,我们坚持使用 git cvsimport 而不是 cvs2svn。最初我们计划进行“一劳永逸”的 cvs 到 git 迁移,但人们最终在 cvs 存储库上做了更多的增量工作。我们希望将更改从 CVS 分支转移到 git 中,以便开发人员可以在 git 中处理该功能。
语境
- 我们有一个专门用于从 cvs 导入的 'fromcvs' git 存储库
- 指定的“合并开发人员”从这个“fromcvs”存储库合并到他/她的本地
- 我定期执行此命令以将 CVS 中的更改带入 git git-cvsimport -p -x -v -d $CVSROOT myProj
问题
为什么分支 FEATURE-FOO 的“git 版本”缺少我在该分支的 CVS 版本中看到的提交?
例如,在 cvs 中,我看到分支 FEATURE-FOO 于 2 月 11 日星期五对 SomeDAO.java 进行了更改。在“fromcvs”git 存储库中,我在分支上看不到相同的更改,
git checkout FEATURE-FOO git log src/java/com/company/somefeature/SomeDAO.java
- 这是 gitcvsimport 中的错误吗?
- 还是我们错过了一个步骤(见下文)来保持
- 还有什么智慧之珠?
您如何解释 git cvs import 手册页上的警告?
另一件事: git-cvsimport 手册页有这个警告(为了便于阅读,我把它分成了要点)。
这具体是什么意思“之后,您需要自己 git 合并增量导入或任何 CVS 分支。”
你永远不应该在 git cvsimport 创建的分支上做任何你自己的工作。
默认情况下,初始导入将从 CVS 存储库的主分支创建并填充一个“主”分支,您可以自由使用它;
之后,您需要自己 git 合并增量导入或任何 CVS 分支。
建议通过 -r 指定一个命名远程来分离和保护传入的分支。
尽管互联网上有警告,但到目前为止,Git cvsimport 实际上对我们来说效果很好。(即“……五十岁以下的人不得独自在克朗代克旅行”)。也许我/我们愚蠢地忽略了这些建议,并陷入了一种虚假的安全感。
有什么建议吗?
谢谢
将要