Close RevWalk in BranchTrackingStatus.of()
Bug: 530757 Change-Id: I985ee5395e1468981c28ae0a80797732e2f528d2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
dce5bc2498
commit
f7244b81cc
|
@ -87,22 +87,25 @@ public static BranchTrackingStatus of(Repository repository, String branchName)
|
|||
if (local == null)
|
||||
return null;
|
||||
|
||||
RevWalk walk = new RevWalk(repository);
|
||||
try (RevWalk walk = new RevWalk(repository)) {
|
||||
|
||||
RevCommit localCommit = walk.parseCommit(local.getObjectId());
|
||||
RevCommit trackingCommit = walk.parseCommit(tracking.getObjectId());
|
||||
RevCommit localCommit = walk.parseCommit(local.getObjectId());
|
||||
RevCommit trackingCommit = walk.parseCommit(tracking.getObjectId());
|
||||
|
||||
walk.setRevFilter(RevFilter.MERGE_BASE);
|
||||
walk.markStart(localCommit);
|
||||
walk.markStart(trackingCommit);
|
||||
RevCommit mergeBase = walk.next();
|
||||
walk.setRevFilter(RevFilter.MERGE_BASE);
|
||||
walk.markStart(localCommit);
|
||||
walk.markStart(trackingCommit);
|
||||
RevCommit mergeBase = walk.next();
|
||||
|
||||
walk.reset();
|
||||
walk.setRevFilter(RevFilter.ALL);
|
||||
int aheadCount = RevWalkUtils.count(walk, localCommit, mergeBase);
|
||||
int behindCount = RevWalkUtils.count(walk, trackingCommit, mergeBase);
|
||||
walk.reset();
|
||||
walk.setRevFilter(RevFilter.ALL);
|
||||
int aheadCount = RevWalkUtils.count(walk, localCommit, mergeBase);
|
||||
int behindCount = RevWalkUtils.count(walk, trackingCommit,
|
||||
mergeBase);
|
||||
|
||||
return new BranchTrackingStatus(trackingBranch, aheadCount, behindCount);
|
||||
return new BranchTrackingStatus(trackingBranch, aheadCount,
|
||||
behindCount);
|
||||
}
|
||||
}
|
||||
|
||||
private final String remoteTrackingBranch;
|
||||
|
|
Loading…
Reference in New Issue