[CLI] Use try-with-resources to avoid leaks with RevWalk Also Update tests Change-Id: If10141aadacce92230d82b3b87a69ec8313a9b10 Signed-off-by: Axel Richard <axel.richard@obeo.fr>
diff --git a/org.eclipse.emf.compare.git.pgm-parent/targetPlatforms/org.eclipse.emf.compare.git.pgm.target b/org.eclipse.emf.compare.git.pgm-parent/targetPlatforms/org.eclipse.emf.compare.git.pgm.target index 848c973..94d235a 100644 --- a/org.eclipse.emf.compare.git.pgm-parent/targetPlatforms/org.eclipse.emf.compare.git.pgm.target +++ b/org.eclipse.emf.compare.git.pgm-parent/targetPlatforms/org.eclipse.emf.compare.git.pgm.target
@@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform --> -<target name="EMF Compare Git PGM target platform" sequenceNumber="1431334798"> +<target name="EMF Compare Git PGM target platform" sequenceNumber="1431506007"> <locations> <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit"> <unit id="org.eclipse.egit.feature.group" version="0.0.0"/> @@ -13,7 +13,8 @@ <unit id="org.eclipse.emf.compare.uml2.feature.group" version="0.0.0"/> <unit id="org.eclipse.emf.compare.diagram.gmf.feature.group" version="0.0.0"/> <unit id="org.eclipse.emf.compare.diagram.papyrus.feature.group" version="0.0.0"/> - <repository location="http://download.eclipse.org/modeling/emf/compare/updates/nightly/latest"/> + <unit id="org.eclipse.emf.compare.egit.feature.group" version="0.0.0"/> + <repository location="http://download.eclipse.org/modeling/emf/compare/updates/logical/emf.compare/nightly/latest/"/> </location> <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit"> <unit id="org.eclipse.oomph.util" version="0.0.0"/>
diff --git a/plugins/org.eclipse.emf.compare.git.pgm.tests/src/org/eclipse/emf/compare/git/pgm/internal/app/CherryPickApplicationTest.java b/plugins/org.eclipse.emf.compare.git.pgm.tests/src/org/eclipse/emf/compare/git/pgm/internal/app/CherryPickApplicationTest.java index a499606..cede079 100644 --- a/plugins/org.eclipse.emf.compare.git.pgm.tests/src/org/eclipse/emf/compare/git/pgm/internal/app/CherryPickApplicationTest.java +++ b/plugins/org.eclipse.emf.compare.git.pgm.tests/src/org/eclipse/emf/compare/git/pgm/internal/app/CherryPickApplicationTest.java
@@ -55,7 +55,7 @@ contextSetup.setupCHE003(); runCherryPick(Returns.COMPLETE, "branch_b"); - assertOutputMessageEnd(getCompleteMessage("[" + getShortId("HEAD") + "] Adds class 1")); + assertOutputMessageEnd("Complete." + EOL); } /** @@ -187,7 +187,7 @@ * @see ContextSetup#setupREB011() * @throws Exception */ - // @Test + @Test public void testCHE011() throws Exception { contextSetup = new ContextSetup(getGit(), getTestTmpFolder()); contextSetup.setupREB011();
diff --git a/plugins/org.eclipse.emf.compare.git.pgm.tests/src/org/eclipse/emf/compare/git/pgm/internal/app/MergeApplicationTest.java b/plugins/org.eclipse.emf.compare.git.pgm.tests/src/org/eclipse/emf/compare/git/pgm/internal/app/MergeApplicationTest.java index 853e175..d8ea4f8 100644 --- a/plugins/org.eclipse.emf.compare.git.pgm.tests/src/org/eclipse/emf/compare/git/pgm/internal/app/MergeApplicationTest.java +++ b/plugins/org.eclipse.emf.compare.git.pgm.tests/src/org/eclipse/emf/compare/git/pgm/internal/app/MergeApplicationTest.java
@@ -423,7 +423,7 @@ * @see ContextSetup#setupREB011() * @throws Exception */ - // @Test + @Test public void testMER011() throws Exception { contextSetup = new ContextSetup(getGit(), getTestTmpFolder()); contextSetup.setupREB011();
diff --git a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/app/AbstractLogicalApplication.java b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/app/AbstractLogicalApplication.java index ea7815f..83a87cb 100644 --- a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/app/AbstractLogicalApplication.java +++ b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/app/AbstractLogicalApplication.java
@@ -318,12 +318,9 @@ */ protected AbstractTreeIterator getTreeIterator(Repository repository, ObjectId id) throws IOException { final CanonicalTreeParser p = new CanonicalTreeParser(); - final ObjectReader or = repository.newObjectReader(); - try { + try (ObjectReader or = repository.newObjectReader()) { p.reset(or, new RevWalk(repository).parseTree(id)); return p; - } finally { - or.release(); } }
diff --git a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/app/RebaseApplication.java b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/app/RebaseApplication.java index a0ce7a1..1fe66fa 100644 --- a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/app/RebaseApplication.java +++ b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/app/RebaseApplication.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Obeo. + * Copyright (c) 2014, 2015 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -185,14 +185,11 @@ if (objectId instanceof RevCommit) { return (RevCommit)objectId; } else { - RevWalk revWalk = new RevWalk(repo); - try { + try (RevWalk revWalk = new RevWalk(repo)) { return revWalk.parseCommit(objectId); } catch (IOException e) { throw new DiesOn(DeathType.FATAL).displaying("Invalid ref " + ref.getName()).duedTo(e) .ready(); - } finally { - revWalk.release(); } } }
diff --git a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/args/RefHandler.java b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/args/RefHandler.java index 1de2512..2047268 100644 --- a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/args/RefHandler.java +++ b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/args/RefHandler.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Obeo. + * Copyright (c) 2014, 2015 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -87,14 +87,11 @@ throw new ArgumentValidationError(owner, "bad revision '" + refName + "'."); } // Checks that the resolved object is a RevCommit - RevWalk revWalk = new RevWalk(repo); - try { + try (RevWalk revWalk = new RevWalk(repo)) { RevCommit commitId = revWalk.parseCommit(objectID); ref = new ObjectIdRef.Unpeeled(Storage.LOOSE, commitId.getName(), commitId); } catch (IOException e) { throw new ArgumentValidationError(owner, "bad revision '" + refName + "'."); - } finally { - revWalk.release(); } }
diff --git a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/args/RevCommitHandler.java b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/args/RevCommitHandler.java index 53c5b3b..af7ef62 100644 --- a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/args/RevCommitHandler.java +++ b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/args/RevCommitHandler.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Obeo. + * Copyright (c) 2014, 2015 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,8 +45,7 @@ * @param setter * {@link OptionHandler#setter} */ - public RevCommitHandler(CmdLineParser parser, OptionDef option, - Setter<? super ObjectId> setter) { + public RevCommitHandler(CmdLineParser parser, OptionDef option, Setter<? super ObjectId> setter) { super(parser, option, setter); Preconditions.checkArgument(parser instanceof CmdLineParserRepositoryBuilder); } @@ -68,14 +67,12 @@ if (objectID == null) { throw new ArgumentValidationError(owner, "bad revision '" + ref + "'."); } - RevWalk revWalk = new RevWalk(repo); - try { + + try (RevWalk revWalk = new RevWalk(repo)) { RevCommit commitId = revWalk.parseCommit(objectID); setter.addValue(commitId); } catch (IOException e) { throw new ArgumentValidationError(owner, "bad revision '" + ref + "'."); - } finally { - revWalk.release(); } } catch (Die e) {
diff --git a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/util/GitUtils.java b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/util/GitUtils.java index 616ad52..142fe02 100644 --- a/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/util/GitUtils.java +++ b/plugins/org.eclipse.emf.compare.git.pgm/src/org/eclipse/emf/compare/git/pgm/internal/util/GitUtils.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Obeo. + * Copyright (c) 2014, 2015 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -53,11 +53,9 @@ */ public static List<RevCommit> getCommitsBetween(Repository repo, ObjectId from, ObjectId to) throws IOException { - RevWalk revWak = new RevWalk(repo); - try { + + try (RevWalk revWak = new RevWalk(repo)) { return RevWalkUtils.find(revWak, revWak.parseCommit(from), revWak.parseCommit(to)); - } finally { - revWak.release(); } }