JGIT Repeated Merge Conflict 空指针异常
JGIT Repeated Merge Conflict Null pointer exception
我想问一下下面的代码行为什么我得到空指针异常。这是我不明白的 Git 相关内容吗?
refsideMerge=existingRepo.exactRef("refs/heads/sideMerge");
tmpMerge = git.merge();
tmpMerge.include(refsideMerge);
tmpMerge.setCommit(false);//dry run to get conflicting files
tmpMergeRes = tmpMerge.call();
Map allConflicts = tmpMergeRes.getConflicts();
for (Map.Entry<String,int[][]> entry : tmpMergeRes.getConflicts().entrySet()) {
System.out.println("Key: " + entry.getKey());
for(int[] arr : entry.getValue()) {
System.out.println("value: " + Arrays.toString(arr));
}
}
描述:
在重复 运行 这段代码之后,我遇到了 Nullpointer 异常。
我想测试我的 xml 合并冲突解析,这就是为什么我需要重复合并冲突来处理的原因。目前只有Merge部分用于产生冲突
据我所知,它停在下面一行
Map allConflicts = tmpMergeRes.getConflicts();
所以我为此找到的解释:
基本上,每当您 运行 git 合并时,它都会触及工作目录,即使它是干燥的 运行,如其所写 there.
有两种可能的解决方案:
, .
目前,我将在干运行 后重置磁头。这是一个简单的解决方案,使用 ResolveMerger 的其他解决方案会更好,但仍在研究如何去做。
refsideMerge=existingRepo.exactRef("refs/heads/sideMerge");
tmpMerge = git.merge();
tmpMerge.include(refsideMerge);
tmpMerge.setCommit(false);//dry run to get conflicting files
tmpMergeRes = tmpMerge.call();
Map allConflicts = tmpMergeRes.getConflicts();
for (Map.Entry<String,int[][]> entry : tmpMergeRes.getConflicts().entrySet()) {
System.out.println("Key: " + entry.getKey());
for(int[] arr : entry.getValue()) {
System.out.println("value: " + Arrays.toString(arr));
}
}
git.reset().setMode(ResetType.HARD).call();
我想问一下下面的代码行为什么我得到空指针异常。这是我不明白的 Git 相关内容吗?
refsideMerge=existingRepo.exactRef("refs/heads/sideMerge");
tmpMerge = git.merge();
tmpMerge.include(refsideMerge);
tmpMerge.setCommit(false);//dry run to get conflicting files
tmpMergeRes = tmpMerge.call();
Map allConflicts = tmpMergeRes.getConflicts();
for (Map.Entry<String,int[][]> entry : tmpMergeRes.getConflicts().entrySet()) {
System.out.println("Key: " + entry.getKey());
for(int[] arr : entry.getValue()) {
System.out.println("value: " + Arrays.toString(arr));
}
}
描述:
在重复 运行 这段代码之后,我遇到了 Nullpointer 异常。 我想测试我的 xml 合并冲突解析,这就是为什么我需要重复合并冲突来处理的原因。目前只有Merge部分用于产生冲突
据我所知,它停在下面一行
Map allConflicts = tmpMergeRes.getConflicts();
所以我为此找到的解释:
基本上,每当您 运行 git 合并时,它都会触及工作目录,即使它是干燥的 运行,如其所写 there.
有两种可能的解决方案:
目前,我将在干运行 后重置磁头。这是一个简单的解决方案,使用 ResolveMerger 的其他解决方案会更好,但仍在研究如何去做。
refsideMerge=existingRepo.exactRef("refs/heads/sideMerge");
tmpMerge = git.merge();
tmpMerge.include(refsideMerge);
tmpMerge.setCommit(false);//dry run to get conflicting files
tmpMergeRes = tmpMerge.call();
Map allConflicts = tmpMergeRes.getConflicts();
for (Map.Entry<String,int[][]> entry : tmpMergeRes.getConflicts().entrySet()) {
System.out.println("Key: " + entry.getKey());
for(int[] arr : entry.getValue()) {
System.out.println("value: " + Arrays.toString(arr));
}
}
git.reset().setMode(ResetType.HARD).call();