git: Показать стандартную / настроенную команду пейджера - PullRequest
1 голос
/ 28 января 2020

Git допускает расширенную настройку с одним из значений core.pager. Если это значение не установлено, Git выполняет некоторую логику c внутри, чтобы автоматически определить, каким должен быть пейджер.

       core.pager
           Text viewer for use by Git commands (e.g., less). The value is meant to be
           interpreted by the shell. The order of preference is the $GIT_PAGER environment
           variable, then core.pager configuration, then $PAGER, and then the default
           chosen at compile time (usually less).

           When the LESS environment variable is unset, Git sets it to FRX (if LESS
           environment variable is set, Git does not change it at all). If you want to
           selectively override Git's default setting for LESS, you can set core.pager to
           e.g.  less -S. This will be passed to the shell by Git, which will translate
           the final command to LESS=FRX less -S. The environment does not set the S
           option but the command line does, instructing less to truncate long lines.
           Similarly, setting core.pager to less -+F will deactivate the F option
           specified by the environment from the command-line, deactivating the "quit if
           one screen" behavior of less. One can specifically activate some flags for
           particular commands: for example, setting pager.blame to less -S enables line
           truncation only for git blame.

           Likewise, when the LV environment variable is unset, Git sets it to -c. You can
           override this setting by exporting LV with another value or setting core.pager
           to lv +c.

Есть ли способ заставить Git выдать командную строку, которая он будет использовать для пейджера, если core.pager не настроен?

1 Ответ

2 голосов
/ 28 января 2020

Да, с некоторыми трудностями. Если вы просто хотите увидеть значение, самый простой способ сделать это - использовать git var --help и просмотреть настройку на странице руководства. Например, в Debian значением по умолчанию является pager.

. Если вам нужно программное решение c, то это возможно с помощью следующего:

$ env -u HOME -u XDG_CONFIG_HOME -u PAGER -u GIT_PAGER GIT_DIR=/dev/null GIT_CONFIG_NOSYSTEM=1 git var GIT_PAGER
pager

Подобные вещи могут с редактором, но с этой опцией есть еще больше переменных среды, которые должны быть сброшены.

...