Undermoduler

Översikt

En Git-undermodul gör att du kan integrera andra Git-projekt i din kod utan att behöva kopiera och klistra in all deras kod.

Dina anpassade moduler kan faktiskt vara beroende av moduler från andra arkiv. När det gäller Odoo gör den här funktionen att du kan lägga till moduler från andra Git-arkiv i grenarna i ditt arkiv. Att lägga till dessa beroenden i din gren genom undermoduler gör distributionen av din kod och servrar enklare, eftersom du kan klona de förvar som läggs till som undermoduler samtidigt som du klonerar ditt eget förvar.

Dessutom kan du välja den gren av arkivet som läggs till som undermodul och du har kontroll över den revision du vill ha. Det är upp till dig att bestämma om du vill fästa undermodulen till en viss revision och när du vill uppdatera till en nyare revision.

I Odoo.sh ger undermodulerna dig möjlighet att använda och vara beroende av moduler som finns i andra arkiv. Plattformen kommer att upptäcka att du har lagt till moduler genom undermoduler i dina grenar och lägga till dem i din addons-sökväg automatiskt så att du kan installera dem i dina databaser.

Om du lägger till privata arkiv som undermoduler i dina grenar måste du konfigurera en deploy-nyckel i dina Odoo.sh-projektinställningar och i dina arkivinställningar. Annars kommer Odoo.sh inte att kunna ladda ner dem. Proceduren beskrivs i kapitlet Inställningar > Undermoduler.

Lägga till en undermodul

Med Odoo.sh (enkelt)

Varning

För närvarande är det inte möjligt att lägga till privata arkiv med den här metoden. Du kan dock göra det med Git.

På Odoo.sh, i grenvyn för ditt projekt, väljer du den gren där du vill lägga till en undermodul.

I det övre högra hörnet klickar du på knappen Submodule och sedan på Run.

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

En dialogruta med ett formulär visas. Fyll i inmatningarna enligt följande:

  • Förvarets URL: SSH-URL för förvaret.

  • Filial: Den filial du vill använda.

  • Sökväg: Den mapp där du vill lägga till denna submodul i din gren.

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

På Github kan du få förvarets URL med knappen Clone or download i förvaret. Se till att använda SSH.

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

Med Git (avancerad)

I en terminal, i mappen där ditt Git-arkiv är klonat, checkar du ut den gren där du vill lägga till en undermodul:

$ git checkout <branch>

Lägg sedan till undermodulen med hjälp av kommandot nedan:

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

Byt ut

  • <git@yourprovider.com>:<användarnamn/repository.git> med SSH-URL:en för det repository som du vill lägga till som undermodul,

  • <branch> med den gren du vill använda i ovanstående repository,

  • <path> med den mapp där du vill lägga till den här undermodulen.

Bekräfta och skicka dina ändringar:

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

Byt ut

  • <remote> av det arkiv där du vill lägga till dina ändringar. För en standard Git-installation är detta origin (källa).

  • <branch> av den gren som du vill lägga till dina ändringar på. Troligtvis den gren som du använde git checkout på i det första steget.

Du kan läsa dokumentationen för git-scm.com för mer information om Git-undermodulerna. Om du t.ex. vill uppdatera dina undermoduler så att de har den senaste revisionen kan du följa kapitlet Pulling in Upstream changes.

Ignorera moduler

Om du lägger till ett arkiv som innehåller många moduler kanske du vill ignorera några av dem ifall det finns några som installeras automatiskt. För att göra det kan du prefixera din undermodulmapp med en .. Plattformen kommer att ignorera den här mappen och du kan handplocka dina moduler genom att skapa symlinks till dem från en annan mapp.