git log - <file_name>在终端上工作正常,但在git python中执行g.log(file_name)显示错误</file_name>

时间:2014-10-16 09:06:42

标签: python git gitpython

对于某些文件,碰巧在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 [...] - [...]'

有人可以建议如何纠正吗?

1 个答案:

答案 0 :(得分:1)

--电话中g.log(...)丢失了。正确的方法如下。

g.log('--', "org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/CompilationUnitVisitor.java")