scripts: résolution symlink-safe + README install user-level
This commit is contained in:
@@ -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
@@ -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
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user