git fast-export中に変更されたファイルのsha
-
26-10-2019 - |
質問
私はgitからプラスチックSCMまでの輸入業者を書いていますが、私が知らなかった1つのケースを見つけました:
M 100644 :31624 activesupport/lib/active_support/core_ext/array/conversions.rb
M 100644 :31625 activesupport/lib/active_support/vendor.rb
M 160000 70ab0f3cc5921cc67e09741939a08b2582d707cb activesupport/lib/active_support/vendor/i18n-0.0.1
ご覧のとおり、最後の要素(Git Repo自体からのFast-Exportでエクスポート)は、マークの代わりにBLOBに入ります。なぜそれが起こるのですか?マークとしてエクスポートされるすべてのオブジェクトを「強制」する方法はありますか?
ありがとう
解決
gitツリーでは、のファイルモード 1600000
エントリが activesupport/lib/active_support/vendor/i18n-0.0.1
この場合、サブモジュールです。サブモジュールは、サブモジュールが必要なコミットのオブジェクト名(つまり、sha1sum)として木に保存されます。これは、出力に表示される値です。何 fast-export
出力は十分です fast-import
そのようにツリーを再構築します git submodule update --init
新しいリポジトリでは、サブモジュールを初期化して適切なバージョンに更新します。 GitのサブモジュールにあなたのTraget SCMに同等の概念があるかどうかはわかりません。
所属していません StackOverflow