Wie soll das Gitbündel mit Submodulen funktionieren?

8

Ich verwende das Git-Paket, um Git-Repositories zu sichern. In neueren Versionen von git werden die Repository-Metadaten eines Submoduls in .git / modules des übergeordneten Repositorys gespeichert, anstatt zuvor in einem .git-Verzeichnis direkt im Submodul gespeichert zu sein.

Wenn git-bundle in einem Submodul ausgeführt wird, erstellt es ein Bündel des übergeordneten Repos, wobei die Submodule weggelassen werden.

Wer kann das aufklären?
Wie kann ich ein Gitbündel eines Submoduls erstellen?

Referenz: Frage auf der Git Mailingliste

Bearbeiten :

Nachdem ich gelesen habe, dass es für sschuberth funktioniert, habe ich ein Skript zum Testen geschrieben und kann überprüfen, ob es funktioniert. Ich habe ein Backup-Skript, das die Existenz eines .git Verzeichnisses überprüft, um zu wissen, ob es im obersten Verzeichnis eines Repositorys ist und somit brach, wenn Submodule .git Dateien Wenn jemand weiß, was der empfohlene Weg ist, um zu garantieren, dass Sie sich im Top-Level-Ordner eines Repositories befinden, bin ich interessiert. Ich weiß nicht, wie ich das vermisst habe.

Nur für den Fall, dass es jemanden interessiert, der Testskripte für Submodule schreiben muss, das ist das Skript, das ich verwendet habe:

%Vor%     
nus 12.07.2012, 14:52
quelle

2 Antworten

2

Sind Sie sicher, dass git submodule update erfolgreich ausgeführt wurde und die .git Datei (kein Verzeichnis) im Submodul existiert? In meinen Tests funktioniert die Bündelung von Submodulen mit der Version 1.7.9.6.

Wenn es aus irgendeinem Grund für Sie immer noch fehlschlägt, wäre eine Umgehung das Repository des Submoduls in seinen eigenen Arbeitsbaum zu klonen und git bundle von dort auszuführen (für das Commit, wie es von git submodule status im Superprojekt angezeigt wird) .

    
sschuberth 06.08.2012, 14:17
quelle
1

Ich musste das nicht tun, aber ich vermute, dass Sie es auf die gleiche Weise tun, wie Sie es normalerweise tun würden - bündeln Sie die Unterverzeichnisse (wenn sie Änderungen haben, die Sie senden müssen), dann bündeln Sie das übergeordnete Repository.

>

Submodule sind nur ein weiteres Git Repository.

    
Arafangion 12.07.2012 16:20
quelle

Tags und Links