J'ai le git-Prompt.sh
configuration du script dans mon .bashrc
fichier qui me donne les informations utiles de git dans mon invite. C'est idéal pour les petits dépôts, mais quand je cd
dans un grand dépôt, cela peut prendre plus de 30 secondes, pour que l'invite réponde car il doit d'abord revoir le dépôt git.
Il est possible de configurer mon .bashrc
afin que je puisse soit mettre en liste blanche mes petits dépôts pour l'invite git à afficher, soit mettre ma liste noire en liste noire afin qu'elle ne charge pas l'invite git?
Alternativement, je serais heureux avec un indicateur/variable que je dois définir pour activer l'invite git.
La partie pertinente de mon .bashrc
ressemble à ça:
##
# Git Prompt options
##
source ~/.git-Prompt.sh
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWUPSTREAM="auto"
if [ "$color_Prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (\[\033[01;33m\]%s\[\033[00m\])")\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(__git_ps1 " (\[\033[01;33m\]%s\[\033[00m\])")\$ '
fi
unset color_Prompt force_color_Prompt
Regardez le code - le vrai travail se fait dans une fonction __git_ps1
, qui est appelé depuis l'intérieur de l'invite.
Remplacez cette fonction par votre propre fonction, par ex.
# this is only a outline of possible code
function myFancyGitPS1() {
case $(pwd) in
*/someDir/*)
specialHandling
;;
*)
__git_ps1 " (\[\033[01;33m\]%s\[\033[00m\])"
;;
esac
}