5

私たちは数年間 bazaar-vcs を使用していましたが、長年の厄介なバグのために git に移行することに決め、bzr の開発を中止しました。

bazaar を使用している間、bazaar ( http://doc.bazaar.canonical.com/bzr.dev/en/user-reference/bugs-help.html ) の「バグ追跡メタデータ」機能を広範囲に使用しました。したがって、すべてのバグ修正コミットには、対応する mantis-bug-Id への ID が含まれていたため、ソースと mantis の間のリンクが得られました。

私たちの commit-message には mantis-id が含まれていません。「metadata-feature」のみを使用しました。

ここに画像の説明を入力

これらの情報を失わないことが非常に重要であるため、このバグ リンクを何らかの形で移行するための解決策が必要です。

fast-import/fast-export コマンドを使用して、bazaar リポジトリを git にエクスポート/インポートしようとしました。

bzr fast-export --no-plain --rewrite-tag-names /var/www/source_branch/ | git高速インポート

残念ながら、次のエラーが表示されます。

fatal: This version of fast-import does not support feature commit-properties.

ただし、オプション--no-plainの代わりに--plainを使用すると、インポートは機能しますが、バグへのすべての接続が失われます。

私たちにとって非常に重要なこれらすべてのバグリンクを失うことなく、bzr から git に移行するための解決策/回避策はありますか?

[編集] : 非常に単純な高速インポート/高速エクスポート ファイル形式を分析しました。ファイルを変更し、(プロパティのバグ...) 行を対応するコミット メッセージ行に移動するスクリプトを作成できるはずです。ただし、すぐに使えるソリューションがある場合は、喜んでお知らせします:)

4

2 に答える 2

2

Git Fast-import はメタデータ プロパティをサポートしていないため、既存のツールだけでこれらの情報を移行する方法はありませんでした。

応答がなく、これらすべてのバグ ID を失うことは選択肢になかったので、git が理解できる形式でストリームを書き換えることができる高速エクスポート ストリーム リライターを作成しましたが、すべてのバグ ID 情報が含まれていました。

C# リライターは、次の手順を実行することで機能します。

  1. 入力ストリームからコミットを解析する
  2. コミットにプロパティ バグ コマンドが含まれているかどうかを確認する
  3. バグ ID を解析し、抽出されたバグ ID でコミット メッセージを変更します。
  4. その他のサポートされていない bzr-fastexport のみのコマンド ("feature"、"property branch nick") を除外します。

このリライタとコードに関する詳細情報は、http ://www.fusonic.net/en/blog/2013/03/26/migrating-from-bazaar-to-git/ にあります。

于 2013-03-26T08:40:13.510 に答える