1
コンテキスト:私のマージが競合に走ったと私は、この例のようにファイルがあります:JGitはコミットする前にファイルを責めますか?
foo.txtの
1
<<<<<< HEAD
2-master
======
2-side
>>>>>> df803849788fde47965b3dc8f07f07d48320ea9c
3
(マージ)質問:人の開発者を得るためには実際にコミットする前に結果ファイル(上記)を非難する方法、競合する行を変更しましたか?私は次の操作を実行しようとしたが、非難は、ループ内null
である:それはgit blame Foo.txt
問題のために動作します。
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);
}
申し訳ありませんが、ラインコンテンツを保持する変数を作成した点を除いて、実際のソリューションとの実際の違いはわかりません。 '...'がファイルパスを意味する場合、これは私の 'mergedfilepath'が保持するものです。私はファイルのパスをチェックし、それが正しいです。あなたのコードを使用して、同じ「ヌル」値を得ました。 –
どの行に 'null 'が返されますか? –
'BlameCommand.call()'は 'null'を返します。 –