作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
上下文:我的合并遇到了冲突,我有一个像这样的示例的文件:
Foo.txt(已合并)
1
<<<<<< HEAD
2-master
======
2-side
>>>>>> df803849788fde47965b3dc8f07f07d48320ea9c
3
问题:为了让开发人员真正更改了冲突行,如何在提交之前责怪结果文件(上面)?它适用于 git Blame Foo.txt
问题:我尝试执行以下操作,但问题是循环内的 null
。
MergeResult m = runMerge(aScenario);
BlameCommand blamer = new BlameCommand(git.getRepository());
BufferedReader br = new BufferedReader(new FileReader(new File(mergedfilepath)));
BlameResult blame = blamer.setFilePath(mergedfilepath).call();
for (int i = 0; (line= br.readLine())!=null ; i++) {
// the blame at this point is null.
PersonIdent person = blame.getSourceAuthor(i);
System.out.println(person.getName() + ": "+ line);
}
最佳答案
我认为遍历的来源应该是结果内容。
从那里开始,您可以循环更改的区域并询问作者。例如:
BlameResult blameResult = git.blame().setFilePath( ... ).call();
int size = blameResult.getResultContents().size();
for( int i = 0; i < size; i++ ) {
System.out.println( blameResult.getSourceAuthor( i ) );
}
至少对于添加到文件的工作目录版本的行,会返回名为尚未提交的作者。
但是,您的代码应该准备好应对 getSourceAuthor()
返回 null
的情况。 JavaDoc 声明返回值可能为 null。
关于java - 如何在提交之前 JGit 责备文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36797045/
我是一名优秀的程序员,十分优秀!