Git игнорируя настройки пейджера? - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь настроить параметры пейджера в git таким образом, чтобы экран очищался при выходе из сеанса less, созданного с помощью вызова git diff, что в основном противоположно тому, что делает less -X,Однако ничто из того, что я пробую, не дает мне желаемого эффекта.

У меня есть настройка core.pager=less -FRS в моем файле .gitconfig, и вызов git config --list показывает это как таковой.Но пейджер продолжает вести себя так, как будто у меня все еще установлен флаг -X, даже вызов git init для повторного чтения файла .gitconfig не имеет никакого эффекта.

В чем может быть причина этого?Моя версия git 2.21.0.windows.1.

РЕДАКТИРОВАТЬ: Кажется, это проблема только с поведением флага -X.Другие параметры, такие как строка chop / fold -F и размер вкладки -x4, соответственно соблюдаются.

Ответы [ 2 ]

2 голосов
/ 03 апреля 2019

Git всегда экспортирует некоторые настройки для переменной окружения LESS.(Это верно, даже если вы установите core.pager, скажем, cat!). way , это делает это просто:

  • Если установлено $LESS,это передает это безупречным.(Это верно, даже если для него задана пустая строка.)
  • В противном случае он экспортирует LESS=FRX.

Затем он запускает core.pager или $GIT_PAGER или любой другой пейджер.выбирается остальными настройками.

Поскольку less само подчиняется $LESS значениям, вы получаете поведение -X.Если вы не хотите этого, вы можете, как вы видели, либо установить $LESS самостоятельно (так, чтобы Git пропустил его через unmoled), либо, например, установить core.pager в less +X так, чтобы командная строка +X переопределяет окружение -X.Последняя особенность less, а не функция Git: все настройки env могут быть изменены командной строкой.

0 голосов
/ 03 апреля 2019

Хорошо. Добавление export LESS="-x4 $LESS" к моему .bashrc, кажется, добилось цели. Также кажется, что $LESS флаги применяются поверх флагов в core.pager.

Я до сих пор не знаю, почему это работает.

Мои переменные env:

$ echo LESS=\"$LESS\" PAGER=\"$PAGER\" GIT_PAGER=\"$GIT_PAGER\"
LESS="-x4 " PAGER="" GIT_PAGER=""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...