我想使用Python脚本获取上次将更改提交到特定文件的人员的电子邮件/path/to/file.py
。
听起来很简单,对吧?我只需要以某种方式解析以下内容
git log -n 1 --pretty=format:%ae -- /path/to/file.py
包装sh
是我的首选。不幸的是,在Python中
import sh
print(str(sh.git.log('-n 1 --pretty=format:%ae -- /path/to/file.py')))
print(str(sh.git.log('-n', '1', '--pretty=format:%ae', '--', /path/to/file.py')))
都打印- (press RETURN)
。所以也许我弄乱了论点。
否则,将str(sh.git.status())
正确返回On branch master ...
,并且其他一些经过测试的命令将按预期工作。
如何解决呢?
该- (press RETURN)
输出听起来像它的东西通过寻呼机打印。
记住,每GIT中命令可能(取决于选项,参数,配置设置和其他环境的细节,如标准输入是否是一个tty)通过寻呼机运行它的输出。使用的寻呼机取决于您的个人配置。该寻呼机的行为取决于所使用的寻呼机和输入数据。
一个简单的解决方法是,即使配置和环境建议Git应该使用寻呼机,也要git --no-pager <git-command>
告诉Git不要使用寻呼机。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句