2

git-cvsimport を使用して、定期的に cvs から git に変更をコピーしています

良くも悪くも、cvs2svn ではなく git cvsimport を使い続けました。当初、私たちは「一度限りの」cvs から git への移行を計画しましたが、最終的に人々は cvs リポジトリでより多くの漸進的な作業を行うことになりました。開発者が git で機能に取り組めるように、CVS ブランチから 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 ログ src/java/com/company/somefeature/SomeDAO.java

  • これは gitcvsimport のバグですか?
  • それとも、維持するステップ(以下を参照)がありませんか?
  • 他に知恵の真珠はありますか?

git cvs import man ページの警告をどのように解釈しますか?

もう 1 つ: git-cvsimport の man ページにこの警告があります (読みやすくするために箇条書きにしています)。

これは具体的に何を意味しますか。

  1. git cvsimport によって作成されたブランチで独自の作業を行うべきではありません。

  2. デフォルトでは、最初のインポートは、自由に作業できる CVS リポジトリのメイン ブランチから「マスター」ブランチを作成して設定します。

  3. その後、git マージの増分インポートまたは CVS ブランチを自分で行う必要があります。

  4. -r を介して名前付きリモートを指定して、着信ブランチを分離して保護することをお勧めします。

Git cvsimport は、インターネット上での警告にもかかわらず、実際にはこれまでかなりうまく機能していました。(つまり、「…地下 50 メートルを超えると、クロンダイクを 1 人で旅行してはならない」)。おそらく、私/私たちは愚かにもアドバイスを無視し、誤った安心感に陥ってしまった.

推奨事項はありますか?

ありがとう

意思

4

1 に答える 1

-2

git-cvsimportが根本的に壊れているため、問題が発生しています。たとえば、そのマンページの「問題」セクションを参照してください。

于 2011-03-25T16:28:07.197 に答える