SHA в измененных файлах во время быстрого экспорта git - PullRequest
0 голосов
/ 28 января 2011

Я пишу импортер из 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) входит в блоб вместо метки. Почему это происходит? Есть ли способ заставить все объекты экспортироваться как метки ??

Спасибо

1 Ответ

2 голосов
/ 28 января 2011

В деревьях git режим файла 1600000 указывает, что запись, activesupport/lib/active_support/vendor/i18n-0.0.1 в этом случае, является подмодулем.Подмодули хранятся в деревьях как имя объекта (т.е. сумма SHA1) коммита, в котором должен быть подмодуль, и это значение, которое вы видите в выходных данных.То, что выводит fast-export, достаточно для fast-import для восстановления дерева таким образом, что git submodule update --init в новом хранилище инициализирует и обновит подмодуль до нужной версии.Боюсь, я не уверен, есть ли в вашем traget SCM понятие, эквивалентное подмодулям git.

...