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
|
## 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
|
```bash
|
||||||
# dans le dépôt qui doit déployer
|
# dans le dépôt qui doit déployer
|
||||||
git submodule add https://figureslibres.io/gitea/bachir/gitploy.git gitploy
|
git submodule add https://figureslibres.io/gitea/bachir/gitploy.git gitploy
|
||||||
git submodule update --init
|
git submodule update --init
|
||||||
gitploy/setup
|
gitploy/setup # installe des alias git locaux (sans PATH)
|
||||||
```
|
|
||||||
|
|
||||||
### En dépôt autonome
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone gitea-figureslibres.io:bachir/gitploy.git
|
|
||||||
cd gitploy && ./setup # configure le dépôt parent courant
|
|
||||||
```
|
```
|
||||||
|
|
||||||
`setup` installe des **alias git locaux** (`git deploy`, `git hotfix`) pointant
|
`setup` installe des **alias git locaux** (`git deploy`, `git hotfix`) pointant
|
||||||
vers les scripts — **aucune modification du `PATH`**. git n'exécutant jamais une
|
vers les scripts. git n'exécutant jamais une config versionnée tout seul (par
|
||||||
config versionnée tout seul (par sécurité), cette étape unique est nécessaire.
|
sécurité), cette étape est nécessaire à chaque clone — c'est le prix du submodule.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@
|
|||||||
# git config deploy.push true|false (défaut : false — push désactivé)
|
# git config deploy.push true|false (défaut : false — push désactivé)
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
DIR=$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)
|
||||||
# shellcheck source=_deploy_lib.sh
|
# shellcheck source=_deploy_lib.sh
|
||||||
. "$DIR/_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é)
|
# git config deploy.push true|false (défaut : false — push désactivé)
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
DIR=$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)
|
||||||
# shellcheck source=_deploy_lib.sh
|
# shellcheck source=_deploy_lib.sh
|
||||||
. "$DIR/_deploy_lib.sh"
|
. "$DIR/_deploy_lib.sh"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user