我被困在无法通过core.pager运行“ git show”的python子进程调用的位置。
在我的〜/ .gitconfig中,我指定了一个核心寻呼机;
[core]
pager = cat -vet
并且当我通过子流程(Popen或check_output)运行它时>]
cmd = ['git', '-C', repo, 'show', r'{0}:{1}'.format(commit, filename)] stdout = subprocess.check_output(cmd)
我得到的输出还没有通过cat分页器运行(行将以'$'结尾)
当我自己从cli运行它时,输出确实通过寻呼机。我应该如何调用子流程以使“ git show”命令通过core.pager运行?
我被困在无法通过core.pager运行“ git show”的python子进程调用的位置。在我的〜/ .gitconfig中,我指定了一个核心寻呼机。 [核心]传呼器= cat -vet并且...
AFAIK,git
仅在将输出定向到终端时才通过配置的寻呼机对输出进行后处理。由于您正在使用subprocess.check_output
,因此git
命令的输出将重定向到管道(以允许将其提供给Python调用程序)。因此,不会调用core.pager
。