Самый быстрый способ получить статус git в bash

Некоторое время я использовал функцию __git_ps1в командной строке PS1 моего bash. (с PS1='\w$(__git_ps1)'). Теперь я хочу раскрасить его в зависимости от ветки положение дел.

Я написал функцию bash, которая проверяет, изменена ли текущая ветвь, и цвета красный или белый в зависимости от состояния. Проблема в том, что он использует git statusдля проверки статуса (это единственный известный мне способ), и это несколько раз медленнее, чем __git_ps1, что достаточно, чтобы вызвать раздражающую задержку при Я использую подсказку (у меня очень слабый нетбук).

Итак, я спрашиваю: есть ли более быстрый способ проверить состояние текущей папки git? __git_ps1намного быстрее, чем разбор вручную git branch, поэтому я думаю может быть какая-то другая скрытая функция git.

11
задан Malabarba 20 June 2012 в 15:02
поделиться