Untermodule

Übersicht

Ein Git-Untermodul ermöglicht es Ihnen, andere Git-Projekte in Ihren Code zu integrieren, ohne deren gesamten Code kopieren und einfügen zu müssen.

Ihre benutzerdefinierten Module können in der Tat von Modulen aus anderen Repositorys abhängen. Bei Odoo können Sie mit dieser Funktion Module aus anderen Git-Repositorys in die Zweige Ihres Repositorys aufnehmen. Das Hinzufügen dieser Abhängigkeiten in Ihrem Zweig durch Untermodule erleichtert die Bereitstellung Ihres Codes und Ihrer Server, da Sie die als Untermodule hinzugefügten Repositorys gleichzeitig mit Ihrem eigenen Repository klonen können.

Außerdem können Sie den Zweig des Repositorys wählen, der als Untermodul hinzugefügt wird, und Sie haben die Kontrolle über die gewünschte Revision. Es liegt an Ihnen zu entscheiden, ob Sie das Untermodul an eine bestimmte Revision binden möchten und wann Sie auf eine neuere Revision aktualisieren möchten.

In Odoo.sh bieten Ihnen die Untermodule die Möglichkeit, Module aus anderen Repositorys zu verwenden und von ihnen abzuhängen. Die Plattform erkennt, dass Sie Module über Untermodule in Ihren Zweigen hinzugefügt haben und fügt sie automatisch zu Ihrem Add-ons-Pfad hinzu, damit Sie sie in Ihren Datenbanken installieren können.

If you add private repositories as submodules in your branches, you need to configure a deploy key in your Odoo.sh project settings and in your repository settings. Otherwise Odoo.sh won’t be allowed to download them. The procedure is detailed in the chapter Settings > Submodules.

Ein Untermodul hinzufügen

Mit Odoo.sh (einfach)

Warnung

For now it is not possible to add private repositories with this method. You can nevertheless do so with Git.

Wählen Sie in Odoo.sh in der Ansicht Zweige Ihres Projekts den Zweig aus, zu dem Sie ein Untermodul hinzufügen möchten.

Klicken Sie in der oberen rechten Ecke auf die Schaltfläche Untermodul und dann auf Ausführen.

../../../_images/advanced-submodules-button.png

Ein Dialog mit einem Formular wird angezeigt. Geben Sie Folgendes ein:

  • Repository-URL: Die SSH-URL des Repositorys.

  • Zweig: Der Zweig, den Sie verwenden möchten.

  • Pfad: Der Ordner, in den Sie dieses Untermodul in Ihrem Zweig einfügen möchten.

../../../_images/advanced-submodules-dialog.png

Auf Github können Sie die Repository-URL über die Schaltfläche Klonen oder Herunterladen des Repositorys erhalten. Stellen Sie sicher, dass Sie SSH verwenden.

../../../_images/advanced-submodules-github-sshurl.png

Mit Git (erweitert)

Prüfen Sie in einem Terminal in dem Ordner, in dem Ihr Git-Repository geklont ist, den Zweig, in dem Sie ein Untermodul hinzufügen möchten:

$ git checkout <branch>

Fügen Sie dann das Untermodul mit folgendem Befehl hinzu:

$ git submodule add -b <branch> <git@yourprovider.com>:<username/repository.git> <path>

Ersetzen

  • <git@yourprovider.com>:<username/repository.git> durch die SSH-URL des Repositorys, das Sie als Untermodul hinzufügen möchten,

  • <branch> durch den Zweig, den Sie im obigen Repository verwenden möchten,

  • <path> durch den Ordner, in den Sie dieses Untermodul einfügen möchten.

Setzen Sie Ihre Änderungen fest und übertragen Sie sie:

$ git commit -a && git push -u <remote> <branch>

Ersetzen

  • <remote> durch das Repository, auf das Sie Ihre Änderungen übertragen möchten. Bei einer Standard-Git-Einrichtung ist dies origin.

  • <branch> durch den Zweig, auf den Sie Ihre Änderungen übertragen wollen. Wahrscheinlich der Zweig, den Sie im ersten Schritt mit git checkout bearbeitet haben.

Sie können die git-scm.com-Dokumentation für weitere Details über die Git-Untermodule lesen. Wenn Sie zum Beispiel Ihre Untermodule auf die neueste Revision aktualisieren möchten, können Sie das Kapitel Pulling in Upstream changes befolgen.

Module ignorieren

Wenn Sie ein Repository hinzufügen, das viele Module enthält, möchten Sie vielleicht einige davon ignorieren, falls es welche gibt, die automatisch installiert werden. Zu diesem Zweck können Sie dem Ordner Ihrer Untermodule ein . voranstellen. Die Plattform wird diesen Ordner ignorieren und Sie können Ihre Module manuell auswählen, indem Sie Symlinks zu ihnen aus einem anderen Ordner erstellen.