当我使用jgit获得差异时,为什么在@@之后没有函数名?

时间:2016-07-15 18:03:20

标签: git diff jgit

当我使用jgit获取两个文件之间的差异时,我可以像这样得到尊重:

diff --git a/src/core/ngx_output_chain.c -Wsrc/core/ngx_output_chain.c
index 554fe1b..6bb463a 100644
--- a/src/core/ngx_output_chain.c
+++ -Wsrc/core/ngx_output_chain.c
@@ -377,8 +377,9 @@
             dst->in_file = 0;
         }

但@@之后没有函数名称,就像我使用git diff。

如何在使用jgit时获取函数名称?

1 个答案:

答案 0 :(得分:1)

jgit生成的差异中没有函数名称,因为jgit不支持此功能。

来自org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java的相关行:

protected void writeHunkHeader(int aStartLine, int aEndLine,
        int bStartLine, int bEndLine) throws IOException {
    out.write('@');
    out.write('@');
    writeRange('-', aStartLine + 1, aEndLine - aStartLine);
    writeRange('+', bStartLine + 1, bEndLine - bStartLine);
    out.write(' ');
    out.write('@');
    out.write('@');
    out.write('\n');
}

您可以在bug tracker上提出问题,如果您真的愿意,可以尝试implement this feature yourself