2011-01-27 47 views
0

我从Git的书面进口商塑料SCM,我发现一个情况下,我是不知道的过程中被修改的文件:SHA Git中快速出口

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仓库本身快速导出导出)会输入一个斑点而不是标记。为什么会发生?有没有办法强制所有要导出的对象作为标记?

感谢

回答

2

在Git中绿树成荫,1600000文件模式表示的条目,activesupport/lib/active_support/vendor/i18n-0.0.1在这种情况下,是一个子模块。子模块作为子模块应该位于的提交的对象名称(即SHA1sum)存储在树中,这就是您在输出中看到的值。 正在输出的数据足以让fast-import重新构建树,以便新存储库中的git submodule update --init将初始化并将子模块更新为正确的版本。恐怕我不确定您的traget SCM中是否有与git子模块相同的概念。