scripts: résolution symlink-safe + README install user-level

This commit is contained in:
2026-09-07 12:16:59 +02:00
parent bc1b09b779
commit 44dcd0192f
3 changed files with 25 additions and 13 deletions
+23 -11
View File
@@ -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
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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"