对于某些文件,碰巧在Git Python中g.log()指令会产生错误,但是对于同一个文件,如果我在终端上执行[$ git log - ],那就行了。 终端上的以下命令运行良好:
$git log -- org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/CompilationUnitVisitor.java
这是我的python代码:
import git
from git import *
import sys
repo = Repo ("/home/directory/git/eclipse.jdt.core")
assert repo.bare == False
g=repo.git
loginfo = g.log('org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/CompilationUnitVisitor.java')
它显示以下错误: Traceback(最近一次调用最后一次): 文件“”,第1行,in 文件“/usr/local/lib/python2.7/dist-packages/GitPython-0.3.2.RC1-py2.7.egg/git/cmd.py”,第227行,in return lambda * args,** kwargs:self._call_process(name,* args,** kwargs) _call_process中的文件“/usr/local/lib/python2.7/dist-packages/GitPython-0.3.2.RC1-py2.7.egg/git/cmd.py”,第456行 return self.execute(call,** _ kwargs) 文件“/usr/local/lib/python2.7/dist-packages/GitPython-0.3.2.RC1-py2.7.egg/git/cmd.py”,第377行,执行 引发GitCommandError(命令,状态,stderr_value) git.exc.GitCommandError:'git log org.eclipse.jdt.core / model / org / eclipse / jdt / internal / core / CompilationUnitVisitor.java'返回退出状态128:致命:模糊参数'org.eclipse.jdt.core /model/org/eclipse/jdt/internal/core/CompilationUnitVisitor.java':未在工作树中的未知修订版或路径。 使用' - '将路径与修订分开,如下所示: 'git [...] - [...]'
有人可以建议如何纠正吗?
答案 0 :(得分:1)
--
电话中g.log(...)
丢失了。正确的方法如下。
g.log('--', "org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/CompilationUnitVisitor.java")