Skip to content
  • Jeff King's avatar
    setup_pager: set GIT_PAGER_IN_USE · 2e6c012e
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    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: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    2e6c012e