• J
    setup_pager: set GIT_PAGER_IN_USE · 2e6c012e
    Jeff King 提交于
    We have always set a global "spawned_pager" variable when we
    start the pager. This lets us make the auto-color decision
    later in the program as as "we are outputting to a terminal,
    or to a pager which can handle colors".
    
    Commit 6e9af863 added support for the GIT_PAGER_IN_USE
    environment variable. An external program calling git (e.g.,
    git-svn) could set this variable to indicate that it had
    already started the pager, and that the decision about
    auto-coloring should take that into account.
    
    However, 6e9af863 failed to do the reverse, which is to tell
    external programs when git itself has started the pager.
    Thus a git command implemented as an external script that
    has the pager turned on (e.g., "git -p stash show") would
    not realize it was going to a pager, and would suppress
    colors.
    
    This patch remedies that; we always set GIT_PAGER_IN_USE
    when we start the pager, and the value is respected by both
    this program and any spawned children.
    Signed-off-by: NJeff King <peff@peff.net>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    2e6c012e
pager.c 2.1 KB