10

私はここしばらくSVNで遊んでいて、そのパワーとユーザーエクスペリエンスが大好きになり、バグ追跡システムに結び付けて、すべての人の生活を簡素化できるようになりました。そのため、VSS 2005のセットアップをSVNに移行することを決定したときが来て、私は今、動けなくなっています。

VSS 2005からSVNへの移行を完了できると主張するツールはたくさんあるようですが、どれが最適で、どれが最も完全な移行を提供するのかわかりません。VSSからチェックアウトしてSVNにチェックインするだけでなく、履歴全体を移行するものが必要です。

Polarion SVN Importerは強力で高度に構成可能に見えますが、動作させることができず、VSSの$/からファイルリストを取得できないと文句を言います。手動でつまずくのと同じコマンドを実行すると、すべてが正常に実行されているように見えるので、理解できません。

ソースをVSS2005からSVNに正常に移行した人はいますか?移行した場合、どのツールを使用し、どのような結果になりましたか?どんな警告や落とし穴も最も役立つので、有用/驚くべきもの、失望したもの、または単に誤って伝えられたものはすべて知っておいてください。

4

5 に答える 5

6

Codeplex上のVssMigrateの最新のトランク(コンソールアプリ)リビジョンを試して、履歴を並べ替え、VSSリポジトリから変更セットを再生成します。また、チェックインされた時間に基づいてリビジョンを正しく並べ替えます。

http vssmigrate.codeplex.com/SourceControl/changeset/view/16890

これがお役に立てば幸いです。$/インポートを微調整する必要があるかもしれません。

PS履歴は、インポートに基づいて注釈が正しいかどうかを発見するのではなく、1つのステップで誰のせいにするかを知るのに役立つので、かなり便利だと思います。古いコードのバグを見つけるときに持っていないよりも持っている方がはるかに良いです。

PPS新しいバージョンのVssMigrateを使用して、リビジョンをSubversionリポジトリに再インポートし、前のリビジョンからの最後のインポートリビジョンの後にすべてのリビジョンをマージすることもできます。唯一の欠点は、リビジョンの数が大幅に削減されるため、全員がリポジトリから新しいチェックアウトを取得する必要があることです。基本的に、新しい移行を実行します。svnadminは、以前に移行されたアクティブなリポジトリをrevmigrated + 1からインクリメンタルとしてダンプしてから、svnadminを新しく移行されたリポジトリにロードします。

于 2009-05-24T12:59:07.457 に答える
4

約1年前にPolarionとvss2svnの両方を試しました。

VSSには長年のコードがありましたが、すべての構成とテストの結果に完全に満足できなかったため、プロセスは長くて壊れやすく、最終的にはクリーンなインポートから始めることにしました。最新のコードの。

昨年、私が古い歴史を探しに行ったことが何度かありましたが、それほど多くはありませんでした。新しく始めることのもう1つの利点は、新しいSVNリポジトリが非常に高速になることです。

于 2009-05-15T19:31:44.190 に答える
3

私がこれを最後に試したのは何年も前のことです。VSSファイル形式が文書化されていないため、完全な履歴を取得するには、サードパーティの変換プログラムがVSSのAPIを使用して各ファイルの各バージョンを取得する必要がありました。私はその変換を週末に実行させ、それがどれだけ達成されたか(数パーセント)を確認し、完了するまでに数週間のカレンダー時間がかかると計算しました(私たちは何年もの歴史がありました)。

そのため、最新のコードのスナップショットのみを新しいバージョン管理システムに移動し、履歴のためにVSSデータベースのアーカイブを保持することにしました。

于 2009-05-15T19:19:27.980 に答える
2

この質問と同様に、移行は異なりますが、履歴をキャプチャしようとするのは労力と時間の無駄だと思います。

SourceSafeからClearCaseに移行するための最良の方法は何ですか?

于 2009-05-15T19:22:49.330 に答える
2

数ヶ月前にVSS2005をSVNに正常に移行しました。「VssMigrate.Tim2」ツールを使用しました。これは、現在CodePlexにvssmigrateとして含まれているようです。大きな問題もなく正常に動作しました。リビジョンとタイムスタンプが思ったように順序付けられていないように見えましたが、大したことではありませんでした。

編集:vssmigrateを使用すると、特定のVSSパス($ / GroupA / ProjectBなど)を移行することを選択できます。これにより、個々の移行にかかる時間が短縮され、プロセス全体の脆弱性が軽減されます。VSSには約6か月のデータしかありませんでしたが、プロセスが長すぎることはわかりませんでした。週末に移行とApache+SVNのセットアップを完了することができました。VSSリポジトリのサイズによっては、大規模な単一のリポジトリではなく、複数のSVNリポジトリを作成したい場合があります。

Apache + SVNの設定はそれほど面白くありませんでしたが(試行錯誤)、VSSから離れたことを非常にうれしく思います。私はGitまたはMercurialを検討していましたが、当時はどちらも信頼できるTortoiseXxxツールまたはVSSCCプラグインを持っていませんでした。GoogleコードがMercurialをサポートし、TortoiseHgは良さそうに見えますが、すぐにMercurialを試してみたいと思います。

于 2009-05-15T19:23:43.727 に答える