gitploy: outillage de déploiement git (deploy + hotfix transactionnels)

This commit is contained in:
2026-09-07 11:27:03 +02:00
commit 73b8910c73
6 changed files with 437 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
# Complétion bash pour « git deploy » et « git hotfix ».
# Complète le 1er argument avec les remotes, le 2e avec les branches locales,
# le tout lu en direct depuis le dépôt courant.
#
# À sourcer dans ~/.bashrc APRÈS la complétion git, par ex. :
# source /chemin/vers/src/bin/deploy-completion.bash
_deploy_complete_positional() {
local i args=() cur="${COMP_WORDS[COMP_CWORD]}"
# Recense les arguments positionnels déjà saisis (hors options et valeur de -m)
for ((i = 2; i < COMP_CWORD; i++)); do
case "${COMP_WORDS[i-1]}" in -m|--message) continue ;; esac
case "${COMP_WORDS[i]}" in -*) continue ;; esac
args+=("${COMP_WORDS[i]}")
done
case "${#args[@]}" in
0) COMPREPLY=($(compgen -W "$(git remote 2>/dev/null)" -- "$cur")) ;;
1) COMPREPLY=($(compgen -W "$(git for-each-ref --format='%(refname:short)' refs/heads/ 2>/dev/null)" -- "$cur")) ;;
*) COMPREPLY=() ;;
esac
}
# Hooks reconnus par la complétion git pour les sous-commandes personnalisées.
_git_deploy() { _deploy_complete_positional; }
_git_hotfix() { _deploy_complete_positional; }