2

我们正在使用 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 分支。”

  1. 你永远不应该在 git cvsimport 创建的分支上做任何你自己的工作。

  2. 默认情况下,初始导入将从 CVS 存储库的主分支创建并填充一个“主”分支,您可以自由使用它;

  3. 之后,您需要自己 git 合并增量导入或任何 CVS 分支。

  4. 建议通过 -r 指定一个命名远程来分离和保护传入的分支。

尽管互联网上有警告,但到目前为止,Git cvsimport 实际上对我们来说效果很好。(即“……五十岁以下的人不得独自在克朗代克旅行”)。也许我/我们愚蠢地忽略了这些建议,并陷入了一种虚假的安全感。

有什么建议吗?

谢谢

将要

4

1 回答 1

-2

您遇到了问题,因为 git-cvsimport 从根本上被破坏了。例如,请参阅其手册页的“问题”部分

于 2011-03-25T16:28:07.197 回答