Frage

Ich schreibe einen Importeur von Git zu Plastic SCM und fand einen Fall, von dem ich nicht wusste:

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

Wie Sie sehen können, gelangt das letzte Element (exportiert mit Fast-Export aus dem Git Repo selbst) in einen Blob anstelle einer Marke. Warum passiert das? Gibt es eine Möglichkeit, alle Objekte als Markierungen zu "erzwingen"?

Vielen Dank

War es hilfreich?

Lösung

In Git -Bäumen ein Dateimodus von 1600000 zeigt an, dass ein Eintrag, activesupport/lib/active_support/vendor/i18n-0.0.1 In diesem Fall ist ein Submodul. Submodule werden in Bäumen als Objektname (dh das SHA1SUM) des Commits gespeichert, dass sich das Submodul befinden sollte, und das ist der Wert, den Sie in der Ausgabe sehen. Was fast-export Ausgabe ist ausreichend für fast-import Um den Baum so zu rekonstruieren, dass git submodule update --init Im neuen Repository wird das Submodul auf die richtige Version initialisiert und aktualisiert. Ich fürchte, ich bin mir nicht sicher, ob in Ihrem Traget SCM ein gleichwertiges Konzept zu Gits Submodules vorhanden ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top