我正在写一个从Git到Plastic SCM的进口商,我发现了一个我不知道的案例:
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本身快速导出导出)进入blob而不是mark。为什么会这样?有没有办法“强制”将所有对象导出为标记??
由于
答案 0 :(得分:2)
在git树中,1600000
的文件模式表示在这种情况下,条目activesupport/lib/active_support/vendor/i18n-0.0.1
是子模块。子模块存储在树中,作为子模块应该在的提交的对象名称(即SHA1sum),这是您在输出中看到的值。 fast-export
正在输出的内容足以使fast-import
重构树,以便新存储库中的git submodule update --init
将初始化并将子模块更新为正确的版本。我担心我不确定你的traget SCM中是否存在与git的子模块相同的概念。