diff --git a/README.md b/README.md index cf29908..5615354 100644 --- a/README.md +++ b/README.md @@ -21,25 +21,37 @@ main**, puis rapatrie automatiquement le correctif dans le dev. ## Installation -### En submodule (recommandé) +### Au niveau utilisateur (recommandé) + +gitploy est un *outil* : on l'installe une fois, tous les dépôts en profitent. + +```bash +# 1. cloner une fois dans un emplacement stable +git clone gitea-figureslibres.io:bachir/gitploy.git ~/.local/share/gitploy + +# 2. exposer les sous-commandes (via un dossier du PATH, ex. ~/.local/bin) +ln -sf ~/.local/share/gitploy/git-deploy ~/.local/bin/git-deploy +ln -sf ~/.local/share/gitploy/git-hotfix ~/.local/bin/git-hotfix + +# 3. complétion (une fois) +echo 'source "$HOME/.local/share/gitploy/deploy-completion.bash"' >> ~/.bash_completion +``` + +`git deploy` / `git hotfix` sont alors disponibles dans **tous** tes dépôts, +sans alias ni `setup`. Mise à jour globale : `git -C ~/.local/share/gitploy pull`. + +### En submodule (pour figer une version par projet) ```bash # dans le dépôt qui doit déployer git submodule add https://figureslibres.io/gitea/bachir/gitploy.git gitploy git submodule update --init -gitploy/setup -``` - -### En dépôt autonome - -```bash -git clone gitea-figureslibres.io:bachir/gitploy.git -cd gitploy && ./setup # configure le dépôt parent courant +gitploy/setup # installe des alias git locaux (sans PATH) ``` `setup` installe des **alias git locaux** (`git deploy`, `git hotfix`) pointant -vers les scripts — **aucune modification du `PATH`**. git n'exécutant jamais une -config versionnée tout seul (par sécurité), cette étape unique est nécessaire. +vers les scripts. git n'exécutant jamais une config versionnée tout seul (par +sécurité), cette étape est nécessaire à chaque clone — c'est le prix du submodule. ## Configuration diff --git a/git-deploy b/git-deploy index da98d1c..82f8a97 100755 --- a/git-deploy +++ b/git-deploy @@ -13,7 +13,7 @@ # git config deploy.push true|false (défaut : false — push désactivé) set -euo pipefail -DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +DIR=$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd) # shellcheck source=_deploy_lib.sh . "$DIR/_deploy_lib.sh" diff --git a/git-hotfix b/git-hotfix index 8f6ab89..61ffe63 100755 --- a/git-hotfix +++ b/git-hotfix @@ -18,7 +18,7 @@ # git config deploy.push true|false (défaut : false — push désactivé) set -euo pipefail -DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +DIR=$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd) # shellcheck source=_deploy_lib.sh . "$DIR/_deploy_lib.sh"