Pregunta

Estoy escribiendo un importador de GIT a SCM de plástico y encontré un caso del que no estaba al tanto:

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

Como puede ver, el último elemento (exportado con Fast-Export desde el repositorio GIT) ingresa a una blob en lugar de una marca. ¿Por que sucede? ¿Hay alguna forma de "forzar" todos los objetos que se exportarán como marcas?

Gracias

¿Fue útil?

Solución

En árboles git, un modo de archivo de 1600000 indica que una entrada, activesupport/lib/active_support/vendor/i18n-0.0.1 En este caso, es un submódulo. Los submódulos se almacenan en los árboles como el nombre del objeto (es decir, el sha1sum) del confirmación en el que debe estar el submódulo, y ese es el valor que está viendo en la salida. Qué fast-export la salida es suficiente para fast-import para reconstruir el árbol tal que git submodule update --init En el nuevo repositorio inicializará y actualizará el submódulo a la versión correcta. Me temo que no estoy seguro de si hay un concepto equivalente en su Traget SCM a los submódulos de Git.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top