2009-08-20 9 views
13

私の会社は、数年前にSourceSafeから移行されたSurround SCMに大きなコードベースを持っています。私たちは、ニーズに適したものに移行しようとしていますが、サラウンドから歴史を取り戻すことは難しいことです。サブルーチンSCMからGitインポート?

git輸入業者のためのグーグル、私はa good tutorial on custom importersを見つけました。また、svn、perforce、およびその他多くのサポートがあるようですが、サラウンドはありません。

スナップショットを作成して新しいgit repoを起動する方が良いでしょうか?それとも、15年以上のコード履歴を取得するためのスクリプトを書く価値がありますか?

+0

カスタム輸入業者へのリンクが死んでいます。おそらくhttps://git-scm.com/book/en/v1/Git-and-Other-Systems-Migrating-to-Git#A-Custom-Importerに置き換えることができます。 – harper

+0

ニース。修正するように編集しました。ありがとう! –

答えて

4

この種のシナリオでは、スクリプトは書き込むことができますが、すべてをの履歴として取得することはできません。

私は唯一の輸入推薦:

  • メジャーレーベルを(年よりも古いもののために、またはそれはとても古いものですので、あなたが快適に感じるものは何でも期間フルに調べる必要はありません)
  • 最後の年のすべてのラベル(メジャーとマイナー)。

しかし、Gitに移行するには、集中型サラウンドリポジトリ内のモジュールまたはアプリケーションを識別するための作業も必要です。
これらのデータをすべてにインポートしようとしています Gitリポジトリは、Linuxカーネルのように別々に独立して開発することができない巨大なシステムでない限り間違いです。

参照:

4

サラウンドSCMは、SDKを持っています。私はCVSからサラウンドにリポジトリを持って来るためにこれを使いました。数年後、あるチームがSVNへの移行を検討していて、リポジトリを移行できるかどうか尋ねました。私は、サラウンド・リポジトリを歩いて中間のインメモリ・データベースを作成し、それを処理するという解決策を考え出しました。日付が正しいことを確認するために、コンピュータの時計をリセットします。ソリューションを十分に実践する前に、私たちは履歴を見て、プロジェクトの組織全体を再考する予定のときに、そのチームのためのフローティングライセンスを維持することに決めました。 (ちなみに、2年で、そのチームはまだサラウンドを使用しているとして)

6

この正確なシナリオで自分自身を見つける、私はそのようなカスタムインポートツールを書くために自分の際にそれを取るしました:export-surround-to-git

この方法では、

このスクリプトは、限られたシナリオでテストされており、これまでに成功していることが証明されています。まだ進行中ですが、これはあなたが探しているものかもしれません。オープンソースなので、自分でスクリプトを改善してみてください!

+0

このスクリプトはWindowsではうまく動作しませんが、2週間でいくつかの修正(巨大なレポを変換した後)を送信します。 今私はそれをきれいにする必要があるので、非常に面倒なコードです。 ところで、それは私のフォーク(または何らかの種類)です https://github.com/xeningem/export-surround-to-git.git – Xeningem

関連する問題