Zum Inhalt springen

Submodule

Wyrm zeigt Submodule als vollwertige Einträge im Panel Submodule an. Du kannst jedes Submodul direkt im selben Fenster öffnen und über die Breadcrumb-Leiste zum übergeordneten Repository zurückkehren.

Das Panel Submodule (Icon-Leiste, linke Seitenleiste) listet alle Submodule des aktuellen Repositories zusammen mit dem jeweils ausgecheckten Commit auf.

Neben einem Submodul erscheint ein Warnhinweis, wenn:

  • der ausgecheckte Commit nicht mit dem Zeiger im übergeordneten Repository übereinstimmt.
  • das Verzeichnis des Submoduls fehlt (nicht initialisiert).

Doppelklicke auf die Zeile eines initialisierten Submoduls oder wähle per Rechtsklick In Wyrmflow öffnen. Wyrm wechselt die aktuelle Ansicht zum vollständigen Log des Submoduls mit eigener Historie und eigenen Operationen und fügt es der Breadcrumb-Leiste oben hinzu. Klicke dort auf das × am Submodul-Eintrag, um zum übergeordneten Repository zurückzukehren.

  1. Öffne das Submodul und checke den Commit aus, auf den das übergeordnete Repository zeigen soll (zum Beispiel per Rechtsklick → Neues Kind).
  2. Kehre über die Breadcrumb-Leiste zum übergeordneten Repository zurück. Die Zeile des Submoduls zeigt jetzt an, dass der ausgecheckte Commit vom aufgezeichneten Zeiger abweicht.
  3. Rechtsklick auf die Zeile → Zeiger auf @ anwenden, oder klicke in der Zeile auf Anwenden.

Wyrm schreibt den aktuellen Commit des Submoduls in die Working-Copy-Änderung des übergeordneten Repositorys (@). Lege dort ein Neues Kind an (oder nutze Squash), um die Änderung in einem Commit festzuschreiben.

Wenn ein Submodul zwar aufgelistet, aber nicht initialisiert ist, klicke im Submodul-Panel auf Submodul initialisieren. Wyrm führt dann git submodule update --init für diesen Eintrag aus.

  • Rekursive Submodule (Submodule von Submodulen) werden zwar angezeigt, lassen sich in der aktuellen Version aber nicht in der Tiefe navigieren.
  • Submodul-Operationen laufen über Git und die Git-Koexistenzschicht von jj – jj selbst verwaltet Submodule nicht nativ.