7
我在兩個不同的文件夾中有一個存儲庫(folder1
和folder2
)。在倉庫有"oldFile"
文件JGit獲取文件
在folder1
我做以下步驟:
echo 123 > oldFile
touch newFile
git add newFile oldFile
git commit -m "Change the oldFile from folder1 and add the newFile" oldFile newFile
git push origin master
後,在folder2
我做下面的步驟:
echo zxc > oldFile;
git add oldFile;
git commit oldFile -m "Change oldFile from folder2"
在這種情況下,我想得到一個合併衝突
而我想看到拉文件。我從here得到了這個例子。
ObjectId oldHead = repository.resolve("HEAD^{tree}"); //save old objectId
PullResult pullResult = pullCommand.setProgressMonitor(new TextProgressMonitor(new OutputStreamWriter(System.out))).call();
ObjectId head = repository.resolve("HEAD^{tree}");
ObjectReader reader = repository.newObjectReader();
CanonicalTreeParser oldTreeIter = new CanonicalTreeParser();
oldTreeIter.reset(reader, oldHead);
CanonicalTreeParser newTreeIter = new CanonicalTreeParser();
newTreeIter.reset(reader, head);
List<DiffEntry> diffs= git.diff()
.setNewTree(newTreeIter)
.setOldTree(oldTreeIter)
.call();
在pullResult.getMergeResult().getMergeConflicts()
我只是文件oldFile
和diffs
集合爲空。
在一個簡單的例子中(當我沒有改變folder2
中的「OldFile」)時,diffs集合不是空的 - 它有1個文件「newFile」,而pullResult.getMergeResult().getMergeConflicts()
是emtpy(很明顯)。
我該怎麼做?我想得到衝突的文件和成功的拉文件。
沒有了'git的pull'命令告訴你文件有衝突的錯誤一起衝突的名字呢? –