Undermoduler¶
Översikt¶
En Git-submodul låter dig integrera andra Git-projekt i din kod, utan att du behöver kopiera in all deras kod.
Dina anpassade moduler kan faktiskt vara beroende av moduler från andra repositories. När det gäller Odoo kan du med den här funktionen lägga till moduler från andra Git-arkiv i grenarna i ditt arkiv. Om du lägger till dessa beroenden i din gren via undermoduler blir det enklare att distribuera din kod och dina servrar, eftersom du kan klona de repositorier som lagts till som undermoduler samtidigt som du klonar ditt eget repositorium.
Dessutom kan du välja vilken gren i arkivet som ska läggas till som undermodul och du har kontroll över vilken 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 tillgängliga i andra repositories. Plattformen kommer att upptäcka att du har lagt till moduler via submoduler i dina grenar och automatiskt lägga till dem i din addons-sökväg så att du kan installera dem i dina databaser.
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.
Lägga till en undermodul¶
Med Odoo.sh (enkelt)¶
Varning
For now it is not possible to add private repositories with this method. You can nevertheless do so with Git.
På Odoo.sh, i vyn Grenar för ditt projekt, väljer du den gren där du vill lägga till en undermodul.
Klicka på knappen Submodul i det övre högra hörnet och sedan på Kör.
En dialogruta med ett formulär visas. Fyll i uppgifterna enligt följande:
URL för förvaret: SSH-URL för förvaret.
Gren: Den filial du vill använda.
Sökväg: Den mapp där du vill lägga till denna undermodul i din gren.
På Github kan du få arkivets URL med knappen Clone or download i arkivet. Se till att använda SSH.
Med Git (avancerad)¶
I en terminal, i mappen där ditt Git-repository ä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>
Ersätt
<git@yourprovider.com>:<username/repository.git> med SSH-URL:en för det arkiv som du vill lägga till som undermodul,
<branch> med den gren du vill använda i ovanstående arkiv,
<path> med den mapp där du vill lägga till denna undermodul.
Bekräfta och skicka dina ändringar:
$ git commit -a && git push -u <remote> <branch>
Ersätt
<remote> av det arkiv där du vill flytta dina ändringar. För en standard Git-installation är detta origin.
<branch> av den gren som du vill flytta dina ändringar till. Troligtvis den gren som du använde
git checkoutpå i det första steget.
Du kan läsa git-scm.com documentation för mer information om Git-submodulerna. Om du till exempel 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 om det finns några som installeras automatiskt. För att göra det kan du prefixa din undermodulmapp med en .. Plattformen kommer att ignorera denna mapp och du kan handplocka dina moduler genom att skapa symlinks till dem från en annan mapp.