2011-01-27 48 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子模塊相同的概念。