Analisar o Git Branch Parou de Funcionar (OSX)

1

Eu uso um método chamado parse_git_branch que é chamado pelo meu PROMPT. Estou usando o zshell, mas não entendo por que isso iria parar de funcionar.

Aqui está a função:

parse_git_branch() {
    git_status="$(git status 2> /dev/null)"
pattern="^# On branch ([^[:space:]]*)"
    if [[ ! ${git_status} =~ "working directory clean" ]]; then
        state="*"
    fi
    if [[ ${git_status} =~ ${pattern} ]]; then
      branch=${match[1]}
      echo "(${branch}${state})"
    fi
}

e aqui está a saída de um git status :

On branch master
Your branch is up-to-date with 'origin/master'.

mas ainda chamando parse_git_branch nada ecoa na tela.

O que poderia ter mudado? Acabei de instalar a última versão do Xcode.

Versão do Git: git version 1.8.5.2 (Apple Git-48) (que não parece familiar)

    
por Dan Rosenstark 28.03.2014 / 22:14

2 respostas

1

Alterar esta linha

pattern="^# On branch ([^[:space:]]*)

para

pattern="On branch ([^[:space:]]*)"

Não tenho certeza de como isso funcionou com o antigo git, mas de qualquer forma ...

Nova versão para trabalhar com o novo Git (usa a árvore em vez do diretório)

parse_git_branch() {
    git_status="$(git status 2> /dev/null)"
    pattern="On branch ([^[:space:]]*)"
    if [[ ! ${git_status} =~ "(working (tree|directory) clean)" ]]; then
        state="*"
    fi
    if [[ ${git_status} =~ ${pattern} ]]; then
      branch=${match[1]}
      echo "(${branch}${state})"
    fi
}
    
por 30.03.2014 / 03:59
2

Eu recomendo que você use o link para resolver qualquer um desses problemas e fornece mais funcionalidade e mais espaço para o seu terminal. Eu tenho usado isso nos últimos meses e é muito poderoso.

    
por 28.03.2014 / 22:24