diff options
author | Tomasz Zarna | 2017-06-20 07:43:46 +0000 |
---|---|---|
committer | Sam Davis | 2017-07-10 18:44:56 +0000 |
commit | df589d62b0a09eb281b767a8e89d0ee8649cc094 (patch) | |
tree | dbfc2c97f67d05c891840552e3c0e6204ab3c9ff | |
parent | c5fd0abb32173fe42a6bcc98209fa94da82a20f6 (diff) | |
download | org.eclipse.mylyn.reviews-df589d62b0a09eb281b767a8e89d0ee8649cc094.tar.gz org.eclipse.mylyn.reviews-df589d62b0a09eb281b767a8e89d0ee8649cc094.tar.xz org.eclipse.mylyn.reviews-df589d62b0a09eb281b767a8e89d0ee8649cc094.zip |
close RevWalks using when parsing commits
Change-Id: I941b87a37353f05b02bb6d105f809c94b4ff7ca0
3 files changed, 20 insertions, 13 deletions
diff --git a/org.eclipse.mylyn.gerrit.tests/src/org/eclipse/mylyn/internal/gerrit/core/remote/ReviewHarness.java b/org.eclipse.mylyn.gerrit.tests/src/org/eclipse/mylyn/internal/gerrit/core/remote/ReviewHarness.java index 571d1a5d5..30cf160be 100644 --- a/org.eclipse.mylyn.gerrit.tests/src/org/eclipse/mylyn/internal/gerrit/core/remote/ReviewHarness.java +++ b/org.eclipse.mylyn.gerrit.tests/src/org/eclipse/mylyn/internal/gerrit/core/remote/ReviewHarness.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import java.io.File; +import java.io.IOException; import java.math.BigInteger; import java.net.Proxy; import java.security.NoSuchAlgorithmException; @@ -216,8 +217,7 @@ class ReviewHarness { void checkoutPatchSet(int number) throws Exception { IReviewItemSet patchSet = getReview().getSets().get(0); ObjectId ref = git.getRepository().resolve(patchSet.getRevision()); - RevWalk walker = new RevWalk(git.getRepository()); - RevCommit targetCommit = walker.parseCommit(ref); + RevCommit targetCommit = parseCommit(ref); //make sure to checkout the correct commit assertThat(targetCommit.toString(), is(commitId)); @@ -229,6 +229,12 @@ class ReviewHarness { .call(); } + private RevCommit parseCommit(ObjectId ref) throws IOException { + try (RevWalk walker = new RevWalk(git.getRepository())) { + return walker.parseCommit(ref); + } + } + GerritClient getClient() { return client; } diff --git a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/egit/EGitUiUtil.java b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/egit/EGitUiUtil.java index 3be66d419..51f19c9cd 100644 --- a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/egit/EGitUiUtil.java +++ b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/egit/EGitUiUtil.java @@ -50,18 +50,18 @@ import com.google.gerrit.reviewdb.Project; /** * Provides common UI utilities. - * + * * @author Steffen Pingel * @author Sascha Scholz */ public class EGitUiUtil { - public static RevCommit getRevCommit(Repository repository, PatchSet target) throws AmbiguousObjectException, - IOException, MissingObjectException, IncorrectObjectTypeException { + public static RevCommit getRevCommit(Repository repository, PatchSet target) + throws AmbiguousObjectException, IOException, MissingObjectException, IncorrectObjectTypeException { ObjectId ref = repository.resolve(target.getRevision().get()); - RevWalk walker = new RevWalk(repository); - RevCommit targetCommit = walker.parseCommit(ref); - return targetCommit; + try (RevWalk walker = new RevWalk(repository)) { + return walker.parseCommit(ref); + } } private static RevCommit fetchRefSpec(IProgressMonitor monitor, Repository repository, RemoteConfig remote, @@ -73,7 +73,9 @@ public class EGitUiUtil { op.setCredentialsProvider(new EGitCredentialsProvider()); FetchResult result = op.execute(monitor); ObjectId resultRef = result.getAdvertisedRef(refSpec.getSource()).getObjectId(); - return new RevWalk(repository).parseCommit(resultRef); + try (RevWalk walker = new RevWalk(repository)) { + return walker.parseCommit(resultRef); + } } public static RevCommit fetchPatchSet(IProgressMonitor monitor, Repository repository, RemoteConfig remote, diff --git a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/OpenParentCommitUiFactory.java b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/OpenParentCommitUiFactory.java index 825ea6d56..c6a4f4c12 100644 --- a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/OpenParentCommitUiFactory.java +++ b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/OpenParentCommitUiFactory.java @@ -94,10 +94,9 @@ public class OpenParentCommitUiFactory extends OpenCommitUiFactory { private RevCommit getRevCommit() throws AmbiguousObjectException, IOException { ObjectId ref = repository.resolve(commitId); - RevWalk walker = new RevWalk(repository); - RevCommit targetCommit = walker.parseCommit(ref); - return targetCommit; - + try (RevWalk walker = new RevWalk(repository)) { + return walker.parseCommit(ref); + } } } |