git fast-Export期间修改后的文件中的sha
-
26-10-2019 - |
题
我正在写一个从git到塑料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而不是标记。为什么会发生?是否有一种方法可以将所有对象强迫出口为标记?
谢谢
解决方案
在git树中,文件模式 1600000
表示条目, activesupport/lib/active_support/vendor/i18n-0.0.1
在这种情况下,是一个s子模块。子模型作为对象名称(即Sha1sum)存储在树中,该提交应该在输出物中,这就是您在输出中看到的值。什么 fast-export
输出足以 fast-import
重建树以使 git submodule update --init
在新的存储库中,将初始化并将其更新为正确的版本。恐怕我不确定您的traget SCM中是否有同等的概念与Git的子模型。
不隶属于 StackOverflow