• [^] # Re: Versionner tout ${HOME}: moyen...

    Posté par . En réponse au journal Gérer ses fichiers de config avec git. Évalué à 2.

    Pour aller plus loin, voici un exemple pour afficher aussi la branche sur laquelle on travaille :

    function gitIsGitRepository()
    {
     output=
     gitTopLevel=$(git rev-parse --show-toplevel 2>/dev/null)
     if [[ $gitTopLevel != '' ]]; then
     if [[ $gitTopLevel == $(pwd) ]]; then
     output="✔ (on $(gitCurrentBranch))"
     else
     output="repository on $gitTopLevel"
     fi
     output="[Git $output] "
     fi
     echo "$output";
    }
    function gitCurrentBranch()
    {
     git rev-parse --abbrev-ref HEAD
    }

    Cela rend la PS1 plus lisible:

    PS1='\u@\h:\w $(gitIsGitRepository)'

    Résultat :

    • dans le repo racine : [Git ✔ (on development)]
    • dans un sous-dossier : [Git repository on /chemin/repo_racine]
    • ailleurs, rien ne s'affiche

    Il y a sûrement moyen de faire plus beau mais je ne code pas beaucoup en shell script.