cvs には約 200 のプロジェクトがあり、vss には少なくとも 100 のプロジェクトがあります。一部は、メンテナンス モードで非アクティブなコードです。一部はレガシーアプリです。使用されなくなった古いアプリもあります。約 10% が開発中です。計画では、2009 年末までにすべてを移行する予定です。
このような大規模な移行を行った人はいますか?
cvs から perforce に移行するためのベストプラクティスに出くわした人はいますか? または同様の移行。注意すべき点はありますか?
cvs には約 200 のプロジェクトがあり、vss には少なくとも 100 のプロジェクトがあります。一部は、メンテナンス モードで非アクティブなコードです。一部はレガシーアプリです。使用されなくなった古いアプリもあります。約 10% が開発中です。計画では、2009 年末までにすべてを移行する予定です。
このような大規模な移行を行った人はいますか?
cvs から perforce に移行するためのベストプラクティスに出くわした人はいますか? または同様の移行。注意すべき点はありますか?
VSS側には、移行に役立つ変換ツールがあります。それらは主にバージョン履歴を維持できます(readmeとドキュメントで説明されている警告があります)。VSS to perforceツールを使用して、50をはるかに超えるVSSプロジェクトをPERFORCEに移行しました。VSSからデータを取得するのは少し面倒で、それほど高速ではありませんが、機能します。VSSリポジトリへのディスクに直接アクセスできる場合(つまり、ネットワーク共有を介さない場合)、変換ははるかに高速になります。スクリプトに関する情報はここにあります。
CVSが変換を強制するための同様のページがここにありますが、私はそれを直接経験していません。これらのリンクは、開始するのに適した場所です。ここにあるPERFORCEナレッジベースでPERFORCEメーリングリストを検索することもできます。メーリングリストのアーカイブにいくつかの変換情報が見つかるかもしれないと確信しています。
最初に古いプロジェクトを移行します。プロセスが機能することを確認できます。アクティブなコードをPERFORCEに移行したとき、私はある週末を取り、基本的にサーバーへのアクセスを停止し、コードをPERFORCEに移動しました。正直なところ、それは非常に簡単な移行であり、人々が月曜日に戻ってきたとき、彼らは行く準備ができていました。移行を開始した後、PERFORCEのチートシートを使用して従業員を準備することを検討してください。
最大の落とし穴は、実際にPERFORCEを使用するために人々を準備することかもしれません。もう一度やり直せば、最初に小規模なアクティブプロジェクトを移行し、一度にPerforceを使用できるように少数の人々を準備していたでしょう。それがそうであったように、私は移行後の1日目に120人以上の人々を訓練しなければならず、それは少し大変でした。また、1日目に新たに同期するために100人以上の人がサーバーにアクセスしないようにしてください。最初の数日間にサーバーを何度も停止することになりました。私たちはお勧めしないWindows32ビットサーバーを使用しました。現在、Windows 64ビットサーバーがあり、はるかに堅牢です。可能であれば、実際には、PERFORCEサーバーのOSとしてLinuxを使用します。繰り返しになりますが、PERFORCEサイトにはパフォーマンスに関する優れた情報があるはずです。
この規模の何かをする必要はありませんでしたが、いくつかのアイデアがあります。まず、小規模で重要でないプロジェクトから始めて、それを移行します。これにより、残りのプロジェクトを移行するのにどれだけの手間がかかるかがわかります。その直後に、中規模のプロジェクトを選択する必要があります。これは、小規模なプロジェクトでは明らかにならない大規模なプロジェクト (ブランチなど) を移行する際に問題が発生する可能性があるためです。
cvs プロジェクトを vss に、またはその逆に簡単に変換できることを確認するために、少し時間をかけてください。vss から perforce への変換が非常に面倒な場合は、vss を cvs に変換してから perforce に変換できます。何日も沈めないでください。ただし、厄介な状況から抜け出すことができます。ここでの鍵は段階的に進むことだと思います。
バックアップは良好です。限目。
締め切り日を考慮し、非アクティブでそれより古いプロジェクトはすべて停止する必要があります。最終リビジョンを確認して、Perforce に保存します。15 年前の Visual Basic コードが本当に必要ですか?
何をするにしても、どこかで古いリポジトリを読み取り専用モードにしておいてください。
終了した非アクティブなプロジェクトを移行しないことを検討してください。リポジトリを読み取り専用モードにするだけです。必要に応じてデータを引き続き利用できるため、データを移行する手間を省くことができます。使用中の 10% を移行するだけです。プロセスを完全に文書化します。
移行されていないプロジェクトの 1 つが将来復活した場合は、ドキュメントを参照して簡単に移行できます。
質問に質問で答えるのを許してください。しかし、 Perforceはこのためのツールを提供していませんか? または、少なくともドキュメントですか?PERFORCE の営業担当者をぶちのめしていただろう...
自分で作成したツールを使用して svn リポジトリを移行し、starteam プロジェクトの最新のリビジョンを取得しました。
単一ファイル チェックイン (CVS) と複数ファイル チェンジセット (Perforce) の違いに注意してください。
ブランチは別のスペース (CVS) とファイルパス スペース (Perforce) のブランチに注意してください。