Added 30 .base.md files using the mmg (Multilingual Markdown Generator) format to automatically generate English (.md) and French (.fr.md) versions of all project documentation. Updated conf/make.documentation.Makefile to process all .base.md files via `make doc_markdown`.
5.6 KiB
git-repo
This is a guide to understand git-repo. Scripts in ERPLibre use git-repo automatically.
git-repo of Google is used to manage all git repositories under licence Apache-2.0.
Setup repo
git-repo
Ce guide explique le fonctionnement de git-repo. Les scripts dans ERPLibre utilisent git-repo automatiquement.
git-repo de Google est utilisé pour gérer tous les dépôts git sous licence Apache-2.0.
Configurer repo
curl https://storage.googleapis.com/git-repo-downloads/repo > .venv.erplibre/bin/repo
prod
prod
.venv.erplibre/bin/repo init -u https://github.com/ERPLibre/ERPLibre -b master
.venv.erplibre/bin/repo sync -c -j $(nproc --all)
dev
dev
.venv.erplibre/bin/repo init -u https://github.com/ERPLibre/ERPLibre -b 12.0_repo -m ./manifest/default.dev.xml
.venv.erplibre/bin/repo sync -c -j $(nproc --all)
local dev
dev local
Guide pour configurer git localement.
git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose &
.venv.erplibre/bin/repo init -u git://127.0.0.1:9418/ -b $(git rev-parse --abbrev-ref HEAD) -m ./manifest/default.dev.xml
.venv.erplibre/bin/repo sync -c -j $(nproc --all) -m ./manifest/default.dev.xml
Create Manifest
A Manifest, is an XML file managed by git-repo to generate a repo.
Make a new version of prod
It freezes all repo, from dev to prod.
This will add revision git hash in the manifest.
Créer un Manifest
Un Manifest est un fichier XML géré par git-repo pour générer un dépôt.
Créer une nouvelle version de prod
Cela fige tous les dépôts, du dev vers la prod.
Cela ajoutera le hash de révision git dans le manifest.
.venv.erplibre/bin/repo manifest -r -o ./default.xml
Commit.
Committez.
git commit -am "[#ticket] subject: short sentence"
Mix prod and dev to create a stage version
When dev contains specific revision with default revision, you need to replace default revision with prod revision and keep specific version:
Mélanger prod et dev pour créer une version de staging
Lorsque dev contient une révision spécifique avec la révision par défaut, vous devez remplacer la révision par défaut par la révision prod et garder la version spécifique :
./script/git/git_merge_repo_manifest.py --input "./manifest/default.dev.xml;./default.xml" --output ./manifest/default.staged.xml
git commit -am "Updated manifest/default.staged.xml"
git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose &
.venv.erplibre/bin/repo init -u git://127.0.0.1:9418/ -b $(git rev-parse --abbrev-ref HEAD) -m ./manifest/default.staged.xml
.venv.erplibre/bin/repo sync -c -j $(nproc --all) -m ./manifest/default.staged.xml
.venv.erplibre/bin/repo manifest -r -o ./default.xml
Create a dev version
Créer une version dev
.venv.erplibre/bin/repo manifest -o ./manifest/default.dev.xml
Commit.
Committez.
git commit -am "[#ticket] subject: short sentence"
Useful commands
Search all repos with a specific branch name
Commandes utiles
Rechercher tous les dépôts avec un nom de branche spécifique
.venv.erplibre/bin/repo forall -pc "git branch -a|grep BRANCH"
Search missing branch in all repos
Rechercher les branches manquantes dans tous les dépôts
.venv.erplibre/bin/repo forall -pc 'git branch -a|(grep /BRANCH$||echo "no match")|grep "no match"'
Search changed file in all repos
Rechercher les fichiers modifiés dans tous les dépôts
.venv.erplibre/bin/repo forall -pc "git status -s"
Clean all
Before cleaning, check changed file in all repos.
Tout nettoyer
Avant de nettoyer, vérifiez les fichiers modifiés dans tous les dépôts.
.venv.erplibre/bin/repo forall -pc "git status -s"
Check the changed branch, and push changed if needed.
Vérifiez les branches modifiées, et poussez les changements si nécessaire.
./script/git/git_show_code_diff_repo_manifest.py -m ./manifest/default.dev.xml
Maybe, some version diverge from your manifest. Simply clean all and relaunch your installation.
Peut-être que certaines versions divergent de votre manifest. Nettoyez simplement tout et relancez votre installation.
./script/git/clean_repo_manifest.sh