我有一个捕获repo命令的python脚本。
import subprocess
processing(commandforrepo)
def processing(repocmd):
process = None
process = subprocess.Popen(repocmd,
stdout=subprocess.PIPE, stderr=None, shell=True)
process.communicate()
在特定命令中,我试图解析repocmd列表以比较两个分支并打印出差异
"repo forall $(repo forall -c 'echo $REPO_PROJECT')\
-c 'git log --abbrev-commit --pretty=oneline --no-merges \
--cherry-pick --left-only HEAD...$REPO_RREV'"
尝试在终端上运行脚本但命令没有执行。但是,当在终端上发出此命令时,它会生成两个分支之间的差异列表。
关于缺少什么的任何线索?
答案 0 :(得分:0)
警告:Git命令的大多数标准输出都是在... stderr上完成的 请参阅here for why:信息性消息仅在stderr上。
所以一定要解析stderr,而不是stdout。