diff options
Diffstat (limited to 'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitBaseResourceVariantTree.java')
-rw-r--r-- | org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitBaseResourceVariantTree.java | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitBaseResourceVariantTree.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitBaseResourceVariantTree.java index 3439028e66..a2736d6dda 100644 --- a/org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitBaseResourceVariantTree.java +++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitBaseResourceVariantTree.java @@ -13,13 +13,10 @@ package org.eclipse.egit.core.synchronize; import java.io.IOException; +import org.eclipse.egit.core.RevUtils; import org.eclipse.egit.core.synchronize.dto.GitSynchronizeData; import org.eclipse.egit.core.synchronize.dto.GitSynchronizeDataSet; -import org.eclipse.jgit.lib.Ref; -import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; -import org.eclipse.jgit.revwalk.RevWalk; -import org.eclipse.jgit.revwalk.filter.RevFilter; import org.eclipse.team.core.TeamException; import org.eclipse.team.core.variants.SessionResourceVariantByteStore; @@ -32,27 +29,12 @@ class GitBaseResourceVariantTree extends GitResourceVariantTree { @Override protected RevCommit getRevCommit(GitSynchronizeData gsd) throws TeamException { - RevCommit result; - Repository repo = gsd.getRepository(); - RevWalk rw = new RevWalk(repo); - rw.setRevFilter(RevFilter.MERGE_BASE); - try { - Ref srcRef = repo.getRef(gsd.getSrcRev()); - Ref dstRef = repo.getRef(gsd.getDstRev()); - - RevCommit srcRev = rw.parseCommit(srcRef.getObjectId()); - RevCommit dstRev = rw.parseCommit(dstRef.getObjectId()); - - rw.markStart(dstRev); - rw.markStart(srcRev); - - result = rw.next(); + return RevUtils.getCommonAncestor(gsd.getRepository(), gsd + .getSrcRev().getObjectId(), gsd.getDstRev().getObjectId()); } catch (IOException e) { throw new TeamException(e.getMessage(), e); } - - return result != null ? result : null; } } |