1

[文件:foo.py]

#!/usr/bin/env python

import sh
import os

cwd = os.path.dirname(os.path.realpath(__file__))
print cwd
sh.git.bake(_cwd=cwd)
print sh.git.status()
print sh.git.log('-n 1', '--pretty=%H')

非常简单的代码,但在 IDE 中,当它到达时

sh.git.log('-n 1', '--pretty=%H')

一切都挂起,如果我运行或调试文件,就会发生这种情况。当我在命令行中使用 'python foo.py' 或 './foo.py' 运行此脚本时,脚本会在不到一秒的时间内完成,并具有完全相同的输出

sh.git.status()

命令,但另外还有来自日志输出的输出。

我已经尝试使用 sh 和 git 深入研究后台可能发生的事情,但就其本质而言,它非常“通用”、线程快乐且难以遵循逻辑线索。

我在 Mac OS X Lion 10.7.5,Aptana Aptana Studio 3,构建:3.4.1.201306062137,Pydev 2.7.0.2013032300 Python 2.7.2

4

1 回答 1

0

有点晚了,但是日志命令可能正在尝试分页结果并正在等待标准输入,请尝试以下操作来关闭分页器:

git = sh.git.bake("--no-pager", _cwd=cwd)
git.log('-n 1', '--pretty=%H')
于 2014-09-09T07:26:41.673 回答