gitploy: outillage de déploiement git (deploy + hotfix transactionnels)
This commit is contained in:
@@ -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; }
|
||||
Reference in New Issue
Block a user