SHA в модифицированных файлах во время быстрого экспорта GIT
-
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, файл режима 1600000
указывает, что запись, activesupport/lib/active_support/vendor/i18n-0.0.1
В этом случае это подмодуль. Подмодулы хранятся на деревьях как имя объекта (то есть Sha1sum) коммита, на котором должен быть подмодуль, и это значение, которое вы видите в выводе. какая fast-export
Достаточно ли вывода для fast-import
реконструировать дерево так, чтобы git submodule update --init
В новом репозитории инициализируется и обновляет подмодуль для правильной версии. Боюсь, я не уверен, есть ли эквивалентная концепция в твоей траге СКМ для подмодулей GIT.