SHA dans les fichiers modifiés au cours rapide-export git
-
26-10-2019 - |
Question
J'écris un importateur de Git Plastic SCM et j'ai trouvé un cas, je ne connaissais pas:
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
Comme vous pouvez le voir, le dernier élément (exporté avec fast-export de la Git se repo) entre un blob au lieu d'une marque. Pourquoi est-il arrivé? Est-il possible de « forcer » tous les objets à exporter en tant que marques ??
Merci
La solution
Dans les arbres git, un mode de fichier de 1600000
indique qu'une entrée, activesupport/lib/active_support/vendor/i18n-0.0.1
dans ce cas, est un sous-module. Les sous-modules sont stockés dans les arbres comme le nom de l'objet (à savoir le SHA1SUM) du commettras que le sous-module doit être à, et c'est la valeur que vous voyez dans la sortie. Qu'est-ce que fast-export
est suffisante pour fournir en sortie est fast-import
pour reconstruire l'arbre de telle sorte que git submodule update --init
dans le nouveau référentiel va initialiser et mettre à jour le sous-module à la bonne version. Je crains que je ne sais pas s'il y a un concept équivalent dans votre SCM Traget aux sous-modules de git.