Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Sohn2015-05-26 10:41:33 +0000
committerMatthias Sohn2015-05-26 10:41:59 +0000
commita7cff345eab85671ad102bb5c2778105ce794571 (patch)
treec9e927eb8188bc5427a06325b84568d607214733
parentfc97cad767427f42027bd722c3f41b406ba32711 (diff)
parent44ed8d3184d8599fa823a8bb2f973cf776ab474a (diff)
downloadegit-a7cff345eab85671ad102bb5c2778105ce794571.tar.gz
egit-a7cff345eab85671ad102bb5c2778105ce794571.tar.xz
egit-a7cff345eab85671ad102bb5c2778105ce794571.zip
Merge branch 'master' into stable-4.0
* master: Update Mars target platforms to use Mars RC2 orbit Update build to use eclipse-jarsigner-plugin 1.1.2 Allow to switch the branch sequence off in the commit message viewer Remove gitprefix in egit Fix NPE in SwitchToMenu.createDynamicMenu Use try-with-resource to avoid leaks with RevWalk and TreeWalk Replace calls to release() methods with try-with-resource Change-Id: I8a451987f0c2be60b2863301aa6166f49046ede8 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/merge/ResourceVariantTest.java121
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/storage/IndexFileRevisionTest.java5
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java31
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/ThreeWayDiffEntryTest.java261
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/AdaptableFileTreeIteratorTest.java39
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ContainerTreeIteratorResourceFilterTest.java24
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitTestCase.java5
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestRepository.java10
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestUtils.java52
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/CommitOperationTest.java64
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/RebaseOperationTest.java16
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/StashCreateOperationTest.java26
-rw-r--r--org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/TagOperationTest.java4
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java5
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/CommitUtil.java45
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/GitCorePreferences.java3
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/RepositoryUtil.java15
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/RevUtils.java4
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/internal/CompareCoreUtils.java45
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/op/TagOperation.java5
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitCommitsModelCache.java104
-rw-r--r--org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java8
-rw-r--r--org.eclipse.egit.target/egit-4.5-staging.target16
-rw-r--r--org.eclipse.egit.target/egit-4.5-staging.tpd2
-rw-r--r--org.eclipse.egit.target/egit-4.5.target16
-rw-r--r--org.eclipse.egit.target/egit-4.5.tpd2
-rw-r--r--org.eclipse.egit.target/orbit/S20150519210750-Mars-RC2.tpd (renamed from org.eclipse.egit.target/orbit/S20150202203538-Mars-M5.tpd)14
-rw-r--r--org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/TestUtil.java59
-rw-r--r--org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/FetchAndMergeActionTest.java7
-rw-r--r--org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/PushActionTest.java70
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/PluginPreferenceInitializer.java2
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java4
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/ConfigurationChecker.java12
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java21
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/RepositoryActionHandler.java8
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java12
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWithMenu.java1
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorPage.java3
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java8
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitSelectionDialog.java13
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefContentProposal.java17
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/ResetTargetSelectionDialog.java34
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java6
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java125
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java20
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java27
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/AbstractHistoryCommandHandler.java15
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CompareWithWorkingTreeHandler.java4
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/ShowVersionsHandler.java4
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitCompareEditorInput.java120
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/MergeResultDialog.java29
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/ConfigurationEditorComponent.java87
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/DialogsPreferencePage.java2
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GlobalConfigurationPreferencePage.java15
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/HistoryPreferencePage.java3
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushBranchPage.java3
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/RefUpdateElement.java3
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchWizard.java8
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertyPage.java2
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertySource.java2
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/CreateBranchCommand.java4
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java31
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java5
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/sharing/ExistingOrNewPage.java20
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlob.java7
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties15
-rw-r--r--pom.xml2
67 files changed, 858 insertions, 914 deletions
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/merge/ResourceVariantTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/merge/ResourceVariantTest.java
index ede07fa3d3..767fcd7d0e 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/merge/ResourceVariantTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/merge/ResourceVariantTest.java
@@ -160,26 +160,29 @@ public class ResourceVariantTest extends VariantsTestCase {
setupUnconflictingBranches();
ObjectId baseId = repo.resolve(BRANCH);
- RevWalk walk = new RevWalk(repo);
- TreeWalk tw = new TreeWalk(repo);
- tw.addTree(walk.parseTree(baseId));
-
- while (tw.next()) {
- AbstractGitResourceVariant variant = TreeParserResourceVariant
- .create(repo, tw.getTree(0, CanonicalTreeParser.class));
-
- assertEquals(tw.getObjectId(0).getName(),
- variant.getContentIdentifier());
- assertEquals(tw.getObjectId(0), variant.getObjectId());
- assertEquals(tw.getRawMode(0), variant.getRawMode());
- if (iFile1.getName().equals(variant.getName())) {
- assertContentEquals(variant, BRANCH_CHANGE + INITIAL_CONTENT_1);
- } else if (!tw.isSubtree()) {
- assertContentEquals(variant, BRANCH_CHANGE + INITIAL_CONTENT_2);
- }
+ try (RevWalk walk = new RevWalk(repo);
+ TreeWalk tw = new TreeWalk(repo)) {
+ tw.addTree(walk.parseTree(baseId));
+
+ while (tw.next()) {
+ AbstractGitResourceVariant variant = TreeParserResourceVariant
+ .create(repo, tw.getTree(0, CanonicalTreeParser.class));
+
+ assertEquals(tw.getObjectId(0).getName(),
+ variant.getContentIdentifier());
+ assertEquals(tw.getObjectId(0), variant.getObjectId());
+ assertEquals(tw.getRawMode(0), variant.getRawMode());
+ if (iFile1.getName().equals(variant.getName())) {
+ assertContentEquals(variant,
+ BRANCH_CHANGE + INITIAL_CONTENT_1);
+ } else if (!tw.isSubtree()) {
+ assertContentEquals(variant,
+ BRANCH_CHANGE + INITIAL_CONTENT_2);
+ }
- if (tw.isSubtree()) {
- tw.enterSubtree();
+ if (tw.isSubtree()) {
+ tw.enterSubtree();
+ }
}
}
}
@@ -192,26 +195,29 @@ public class ResourceVariantTest extends VariantsTestCase {
setupUnconflictingBranches();
ObjectId baseId = repo.resolve(MASTER);
- RevWalk walk = new RevWalk(repo);
- TreeWalk tw = new TreeWalk(repo);
- tw.addTree(walk.parseTree(baseId));
-
- while (tw.next()) {
- AbstractGitResourceVariant variant = TreeParserResourceVariant
- .create(repo, tw.getTree(0, CanonicalTreeParser.class));
-
- assertEquals(tw.getObjectId(0).getName(),
- variant.getContentIdentifier());
- assertEquals(tw.getObjectId(0), variant.getObjectId());
- assertEquals(tw.getRawMode(0), variant.getRawMode());
- if (iFile1.getName().equals(variant.getName())) {
- assertContentEquals(variant, INITIAL_CONTENT_1 + MASTER_CHANGE);
- } else if (!tw.isSubtree()) {
- assertContentEquals(variant, INITIAL_CONTENT_2 + MASTER_CHANGE);
- }
+ try (RevWalk walk = new RevWalk(repo);
+ TreeWalk tw = new TreeWalk(repo)) {
+ tw.addTree(walk.parseTree(baseId));
+
+ while (tw.next()) {
+ AbstractGitResourceVariant variant = TreeParserResourceVariant
+ .create(repo, tw.getTree(0, CanonicalTreeParser.class));
+
+ assertEquals(tw.getObjectId(0).getName(),
+ variant.getContentIdentifier());
+ assertEquals(tw.getObjectId(0), variant.getObjectId());
+ assertEquals(tw.getRawMode(0), variant.getRawMode());
+ if (iFile1.getName().equals(variant.getName())) {
+ assertContentEquals(variant,
+ INITIAL_CONTENT_1 + MASTER_CHANGE);
+ } else if (!tw.isSubtree()) {
+ assertContentEquals(variant,
+ INITIAL_CONTENT_2 + MASTER_CHANGE);
+ }
- if (tw.isSubtree()) {
- tw.enterSubtree();
+ if (tw.isSubtree()) {
+ tw.enterSubtree();
+ }
}
}
}
@@ -224,26 +230,27 @@ public class ResourceVariantTest extends VariantsTestCase {
setupUnconflictingBranches();
ObjectId baseId = repo.resolve(BASE_BRANCH);
- RevWalk walk = new RevWalk(repo);
- TreeWalk tw = new TreeWalk(repo);
- tw.addTree(walk.parseTree(baseId));
-
- while (tw.next()) {
- AbstractGitResourceVariant variant = TreeParserResourceVariant
- .create(repo, tw.getTree(0, CanonicalTreeParser.class));
-
- assertEquals(tw.getObjectId(0).getName(),
- variant.getContentIdentifier());
- assertEquals(tw.getObjectId(0), variant.getObjectId());
- assertEquals(tw.getRawMode(0), variant.getRawMode());
- if (iFile1.getName().equals(variant.getName())) {
- assertContentEquals(variant, INITIAL_CONTENT_1);
- } else if (!tw.isSubtree()) {
- fail("file2 shouldn't exist in our base.");
- }
+ try (RevWalk walk = new RevWalk(repo);
+ TreeWalk tw = new TreeWalk(repo)) {
+ tw.addTree(walk.parseTree(baseId));
+
+ while (tw.next()) {
+ AbstractGitResourceVariant variant = TreeParserResourceVariant
+ .create(repo, tw.getTree(0, CanonicalTreeParser.class));
+
+ assertEquals(tw.getObjectId(0).getName(),
+ variant.getContentIdentifier());
+ assertEquals(tw.getObjectId(0), variant.getObjectId());
+ assertEquals(tw.getRawMode(0), variant.getRawMode());
+ if (iFile1.getName().equals(variant.getName())) {
+ assertContentEquals(variant, INITIAL_CONTENT_1);
+ } else if (!tw.isSubtree()) {
+ fail("file2 shouldn't exist in our base.");
+ }
- if (tw.isSubtree()) {
- tw.enterSubtree();
+ if (tw.isSubtree()) {
+ tw.enterSubtree();
+ }
}
}
}
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/storage/IndexFileRevisionTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/storage/IndexFileRevisionTest.java
index 1ff0a9bec8..547a0caa03 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/storage/IndexFileRevisionTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/storage/IndexFileRevisionTest.java
@@ -116,14 +116,11 @@ public class IndexFileRevisionTest extends GitTestCase {
throws IOException {
DirCacheEntry entry = new DirCacheEntry(path, stage);
entry.setFileMode(FileMode.REGULAR_FILE);
- ObjectInserter inserter = repository.newObjectInserter();
- try {
+ try (ObjectInserter inserter = repository.newObjectInserter()) {
ObjectId blob = inserter.insert(Constants.OBJ_BLOB,
data.getBytes("UTF-8"));
entry.setObjectId(blob);
inserter.flush();
- } finally {
- inserter.release();
}
return entry;
}
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java
index 86f431ce89..cd6307efa2 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java
@@ -586,21 +586,22 @@ public class GitResourceVariantComparatorTest extends GitTestCase {
testRepo.addToIndex(testRepo.getIFile(iProject, file2));
RevCommit commit = testRepo.commit("initial commit");
- TreeWalk tw = new TreeWalk(repo);
- int nth = tw.addTree(commit.getTree());
-
- tw.next();
- tw.enterSubtree(); // enter project node
- tw.next();
- GitRemoteFolder base = new GitRemoteFolder(repo, null, commit,
- tw.getObjectId(nth), tw.getNameString());
-
- tw.next();
- GitRemoteFolder remote = new GitRemoteFolder(repo, null, commit,
- tw.getObjectId(nth), tw.getNameString());
-
- // then
- assertFalse(grvc.compare(base, remote));
+ try (TreeWalk tw = new TreeWalk(repo)) {
+ int nth = tw.addTree(commit.getTree());
+
+ tw.next();
+ tw.enterSubtree(); // enter project node
+ tw.next();
+ GitRemoteFolder base = new GitRemoteFolder(repo, null, commit,
+ tw.getObjectId(nth), tw.getNameString());
+
+ tw.next();
+ GitRemoteFolder remote = new GitRemoteFolder(repo, null, commit,
+ tw.getObjectId(nth), tw.getNameString());
+
+ // then
+ assertFalse(grvc.compare(base, remote));
+ }
}
/**
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/ThreeWayDiffEntryTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/ThreeWayDiffEntryTest.java
index 402b1197e1..f1e6a28bd9 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/ThreeWayDiffEntryTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/ThreeWayDiffEntryTest.java
@@ -48,20 +48,21 @@ public class ThreeWayDiffEntryTest extends LocalDiskRepositoryTestCase {
RevCommit c = git.commit().setMessage("initial commit").call();
// when
- TreeWalk walk = new TreeWalk(db);
- walk.addTree(c.getTree());
- walk.addTree(new EmptyTreeIterator());
- walk.addTree(new EmptyTreeIterator());
- List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
-
- // then
- assertThat(result, notNullValue());
- assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
-
- ThreeWayDiffEntry entry = result.get(0);
- assertThat(entry.getDirection(), is(Direction.OUTGOING));
- assertThat(entry.getChangeType(), is(ChangeType.ADD));
- assertThat(entry.getPath(), is("a.txt"));
+ try (TreeWalk walk = new TreeWalk(db)) {
+ walk.addTree(c.getTree());
+ walk.addTree(new EmptyTreeIterator());
+ walk.addTree(new EmptyTreeIterator());
+ List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
+
+ // then
+ assertThat(result, notNullValue());
+ assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
+
+ ThreeWayDiffEntry entry = result.get(0);
+ assertThat(entry.getDirection(), is(Direction.OUTGOING));
+ assertThat(entry.getChangeType(), is(ChangeType.ADD));
+ assertThat(entry.getPath(), is("a.txt"));
+ }
}
@Test
@@ -73,20 +74,21 @@ public class ThreeWayDiffEntryTest extends LocalDiskRepositoryTestCase {
RevCommit c = git.commit().setMessage("initial commit").call();
// when
- TreeWalk walk = new TreeWalk(db);
- walk.addTree(new EmptyTreeIterator());
- walk.addTree(new EmptyTreeIterator());
- walk.addTree(c.getTree());
- List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
-
- // then
- assertThat(result, notNullValue());
- assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
-
- ThreeWayDiffEntry entry = result.get(0);
- assertThat(entry.getDirection(), is(Direction.INCOMING));
- assertThat(entry.getChangeType(), is(ChangeType.ADD));
- assertThat(entry.getPath(), is("a.txt"));
+ try (TreeWalk walk = new TreeWalk(db)) {
+ walk.addTree(new EmptyTreeIterator());
+ walk.addTree(new EmptyTreeIterator());
+ walk.addTree(c.getTree());
+ List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
+
+ // then
+ assertThat(result, notNullValue());
+ assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
+
+ ThreeWayDiffEntry entry = result.get(0);
+ assertThat(entry.getDirection(), is(Direction.INCOMING));
+ assertThat(entry.getChangeType(), is(ChangeType.ADD));
+ assertThat(entry.getPath(), is("a.txt"));
+ }
}
@Test
@@ -98,20 +100,21 @@ public class ThreeWayDiffEntryTest extends LocalDiskRepositoryTestCase {
RevCommit c = git.commit().setMessage("initial commit").call();
// when
- TreeWalk walk = new TreeWalk(db);
- walk.addTree(new EmptyTreeIterator());
- walk.addTree(c.getTree());
- walk.addTree(c.getTree());
- List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
-
- // then
- assertThat(result, notNullValue());
- assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
-
- ThreeWayDiffEntry entry = result.get(0);
- assertThat(entry.getDirection(), is(Direction.OUTGOING));
- assertThat(entry.getChangeType(), is(ChangeType.DELETE));
- assertThat(entry.getPath(), is("a.txt"));
+ try (TreeWalk walk = new TreeWalk(db)) {
+ walk.addTree(new EmptyTreeIterator());
+ walk.addTree(c.getTree());
+ walk.addTree(c.getTree());
+ List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
+
+ // then
+ assertThat(result, notNullValue());
+ assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
+
+ ThreeWayDiffEntry entry = result.get(0);
+ assertThat(entry.getDirection(), is(Direction.OUTGOING));
+ assertThat(entry.getChangeType(), is(ChangeType.DELETE));
+ assertThat(entry.getPath(), is("a.txt"));
+ }
}
@Test
@@ -123,20 +126,21 @@ public class ThreeWayDiffEntryTest extends LocalDiskRepositoryTestCase {
RevCommit c = git.commit().setMessage("initial commit").call();
// when
- TreeWalk walk = new TreeWalk(db);
- walk.addTree(c.getTree());
- walk.addTree(c.getTree());
- walk.addTree(new EmptyTreeIterator());
- List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
-
- // then
- assertThat(result, notNullValue());
- assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
-
- ThreeWayDiffEntry entry = result.get(0);
- assertThat(entry.getDirection(), is(Direction.INCOMING));
- assertThat(entry.getChangeType(), is(ChangeType.DELETE));
- assertThat(entry.getPath(), is("a.txt"));
+ try (TreeWalk walk = new TreeWalk(db)) {
+ walk.addTree(c.getTree());
+ walk.addTree(c.getTree());
+ walk.addTree(new EmptyTreeIterator());
+ List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
+
+ // then
+ assertThat(result, notNullValue());
+ assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
+
+ ThreeWayDiffEntry entry = result.get(0);
+ assertThat(entry.getDirection(), is(Direction.INCOMING));
+ assertThat(entry.getChangeType(), is(ChangeType.DELETE));
+ assertThat(entry.getPath(), is("a.txt"));
+ }
}
@Test
@@ -148,21 +152,21 @@ public class ThreeWayDiffEntryTest extends LocalDiskRepositoryTestCase {
RevCommit c = git.commit().setMessage("initial commit").call();
// when
- TreeWalk walk = new TreeWalk(db);
- walk.addTree(new EmptyTreeIterator());
- walk.addTree(c.getTree());
- walk.addTree(new EmptyTreeIterator());
- List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
-
- // then
- assertThat(result, notNullValue());
- assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
-
- ThreeWayDiffEntry entry = result.get(0);
- assertThat(entry.getDirection(), is(Direction.CONFLICTING));
- assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
- // assertThat(entry.getNewPath(), is("a.txt"));
- // assertThat(entry.getOldPath(), is(DEV_NULL));
+ try (TreeWalk walk = new TreeWalk(db)) {
+ walk.addTree(new EmptyTreeIterator());
+ walk.addTree(c.getTree());
+ walk.addTree(new EmptyTreeIterator());
+ List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
+ // then
+ assertThat(result, notNullValue());
+ assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
+
+ ThreeWayDiffEntry entry = result.get(0);
+ assertThat(entry.getDirection(), is(Direction.CONFLICTING));
+ assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
+ // assertThat(entry.getNewPath(), is("a.txt"));
+ // assertThat(entry.getOldPath(), is(DEV_NULL));
+ }
}
@Test
@@ -174,20 +178,20 @@ public class ThreeWayDiffEntryTest extends LocalDiskRepositoryTestCase {
RevCommit c = git.commit().setMessage("initial commit").call();
// when
- TreeWalk walk = new TreeWalk(db);
- walk.addTree(c.getTree());
- walk.addTree(new EmptyTreeIterator());
- walk.addTree(c.getTree());
- List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
-
- // then
- assertThat(result, notNullValue());
- assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
-
- ThreeWayDiffEntry entry = result.get(0);
- assertThat(entry.getDirection(), is(Direction.CONFLICTING));
- assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
- assertThat(entry.getPath(), is("a.txt"));
+ try (TreeWalk walk = new TreeWalk(db)) {
+ walk.addTree(c.getTree());
+ walk.addTree(new EmptyTreeIterator());
+ walk.addTree(c.getTree());
+ List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
+ // then
+ assertThat(result, notNullValue());
+ assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
+
+ ThreeWayDiffEntry entry = result.get(0);
+ assertThat(entry.getDirection(), is(Direction.CONFLICTING));
+ assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
+ assertThat(entry.getPath(), is("a.txt"));
+ }
}
@Test
@@ -202,20 +206,21 @@ public class ThreeWayDiffEntryTest extends LocalDiskRepositoryTestCase {
.call();
// when
- TreeWalk walk = new TreeWalk(db);
- walk.addTree(c.getTree());
- walk.addTree(c.getTree());
- walk.addTree(c1.getTree());
- List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
-
- // then
- assertThat(result, notNullValue());
- assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
-
- ThreeWayDiffEntry entry = result.get(0);
- assertThat(entry.getDirection(), is(Direction.INCOMING));
- assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
- assertThat(entry.getPath(), is("a.txt"));
+ try (TreeWalk walk = new TreeWalk(db)) {
+ walk.addTree(c.getTree());
+ walk.addTree(c.getTree());
+ walk.addTree(c1.getTree());
+ List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
+
+ // then
+ assertThat(result, notNullValue());
+ assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
+
+ ThreeWayDiffEntry entry = result.get(0);
+ assertThat(entry.getDirection(), is(Direction.INCOMING));
+ assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
+ assertThat(entry.getPath(), is("a.txt"));
+ }
}
@Test
@@ -230,20 +235,21 @@ public class ThreeWayDiffEntryTest extends LocalDiskRepositoryTestCase {
.call();
// when
- TreeWalk walk = new TreeWalk(db);
- walk.addTree(c1.getTree());
- walk.addTree(c.getTree());
- walk.addTree(c.getTree());
- List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
-
- // then
- assertThat(result, notNullValue());
- assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
-
- ThreeWayDiffEntry entry = result.get(0);
- assertThat(entry.getDirection(), is(Direction.OUTGOING));
- assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
- assertThat(entry.getPath(), is("a.txt"));
+ try (TreeWalk walk = new TreeWalk(db)) {
+ walk.addTree(c1.getTree());
+ walk.addTree(c.getTree());
+ walk.addTree(c.getTree());
+ List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
+
+ // then
+ assertThat(result, notNullValue());
+ assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
+
+ ThreeWayDiffEntry entry = result.get(0);
+ assertThat(entry.getDirection(), is(Direction.OUTGOING));
+ assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
+ assertThat(entry.getPath(), is("a.txt"));
+ }
}
@Test
@@ -258,20 +264,21 @@ public class ThreeWayDiffEntryTest extends LocalDiskRepositoryTestCase {
.call();
// when
- TreeWalk walk = new TreeWalk(db);
- walk.addTree(c1.getTree());
- walk.addTree(c.getTree());
- walk.addTree(c1.getTree());
- List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
-
- // then
- assertThat(result, notNullValue());
- assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
-
- ThreeWayDiffEntry entry = result.get(0);
- assertThat(entry.getDirection(), is(Direction.CONFLICTING));
- assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
- assertThat(entry.getPath(), is("a.txt"));
+ try (TreeWalk walk = new TreeWalk(db)) {
+ walk.addTree(c1.getTree());
+ walk.addTree(c.getTree());
+ walk.addTree(c1.getTree());
+ List<ThreeWayDiffEntry> result = ThreeWayDiffEntry.scan(walk);
+
+ // then
+ assertThat(result, notNullValue());
+ assertThat(Integer.valueOf(result.size()), is(Integer.valueOf(1)));
+
+ ThreeWayDiffEntry entry = result.get(0);
+ assertThat(entry.getDirection(), is(Direction.CONFLICTING));
+ assertThat(entry.getChangeType(), is(ChangeType.MODIFY));
+ assertThat(entry.getPath(), is("a.txt"));
+ }
}
// copied from org.eclipse.jgit.lib.RepositoryTestCase
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/AdaptableFileTreeIteratorTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/AdaptableFileTreeIteratorTest.java
index 76c3067360..c0e35fadef 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/AdaptableFileTreeIteratorTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/AdaptableFileTreeIteratorTest.java
@@ -62,23 +62,26 @@ public class AdaptableFileTreeIteratorTest extends GitTestCase {
final IWorkspaceRoot root = project.getProject().getWorkspace()
.getRoot();
- final TreeWalk treeWalk = new TreeWalk(repository);
- treeWalk.addTree(new AdaptableFileTreeIterator(repository, root));
- treeWalk.setRecursive(true);
-
- final IFile eclipseFile = project.getProject().getFile(file.getName());
- final RepositoryMapping mapping = RepositoryMapping
- .getMapping(eclipseFile);
- final Set<String> repositoryPaths = Collections.singleton(mapping
- .getRepoRelativePath(eclipseFile));
-
- assertEquals(1, repositoryPaths.size());
- treeWalk.setFilter(PathFilterGroup.createFromStrings(repositoryPaths));
-
- assertTrue(treeWalk.next());
-
- final WorkingTreeIterator iterator = treeWalk.getTree(0,
- WorkingTreeIterator.class);
- assertTrue(iterator instanceof ContainerTreeIterator);
+ try (final TreeWalk treeWalk = new TreeWalk(repository)) {
+ treeWalk.addTree(new AdaptableFileTreeIterator(repository, root));
+ treeWalk.setRecursive(true);
+
+ final IFile eclipseFile = project.getProject()
+ .getFile(file.getName());
+ final RepositoryMapping mapping = RepositoryMapping
+ .getMapping(eclipseFile);
+ final Set<String> repositoryPaths = Collections
+ .singleton(mapping.getRepoRelativePath(eclipseFile));
+
+ assertEquals(1, repositoryPaths.size());
+ treeWalk.setFilter(
+ PathFilterGroup.createFromStrings(repositoryPaths));
+
+ assertTrue(treeWalk.next());
+
+ final WorkingTreeIterator iterator = treeWalk.getTree(0,
+ WorkingTreeIterator.class);
+ assertTrue(iterator instanceof ContainerTreeIterator);
+ }
}
}
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ContainerTreeIteratorResourceFilterTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ContainerTreeIteratorResourceFilterTest.java
index 5ac5baf923..522b14e244 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ContainerTreeIteratorResourceFilterTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ContainerTreeIteratorResourceFilterTest.java
@@ -174,17 +174,21 @@ public class ContainerTreeIteratorResourceFilterTest extends GitTestCase {
}
private List<Entry> walkTree() throws IOException {
- TreeWalk treeWalk = new TreeWalk(repository);
- ContainerTreeIterator tree = new ContainerTreeIterator(repository, project.getProject());
- int treeIndex = treeWalk.addTree(tree);
- treeWalk.setRecursive(true);
- List<Entry> entries = new ArrayList<Entry>();
- while (treeWalk.next()) {
- AbstractTreeIterator it = treeWalk.getTree(treeIndex, AbstractTreeIterator.class);
- Entry entry = new Entry(treeWalk.getPathString(), it.getClass());
- entries.add(entry);
+ try (TreeWalk treeWalk = new TreeWalk(repository)) {
+ ContainerTreeIterator tree = new ContainerTreeIterator(repository,
+ project.getProject());
+ int treeIndex = treeWalk.addTree(tree);
+ treeWalk.setRecursive(true);
+ List<Entry> entries = new ArrayList<Entry>();
+ while (treeWalk.next()) {
+ AbstractTreeIterator it = treeWalk.getTree(treeIndex,
+ AbstractTreeIterator.class);
+ Entry entry = new Entry(treeWalk.getPathString(),
+ it.getClass());
+ entries.add(entry);
+ }
+ return entries;
}
- return entries;
}
private static Entry containerTreeEntry(String path) {
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitTestCase.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitTestCase.java
index d0d0af1511..a48bd2f55c 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitTestCase.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitTestCase.java
@@ -82,13 +82,10 @@ public abstract class GitTestCase {
fileWriter.write(content);
fileWriter.close();
byte[] fileContents = IO.readFully(file);
- ObjectInserter inserter = repository.newObjectInserter();
- try {
+ try (ObjectInserter inserter = repository.newObjectInserter()) {
ObjectId objectId = inserter.insert(Constants.OBJ_BLOB, fileContents);
inserter.flush();
return objectId;
- } finally {
- inserter.release();
}
}
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestRepository.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestRepository.java
index 7be77c529b..2d5e085329 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestRepository.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestRepository.java
@@ -446,10 +446,14 @@ public class TestRepository {
return true;
Ref ref = repository.getRef(Constants.HEAD);
- RevCommit c = new RevWalk(repository).parseCommit(ref.getObjectId());
- TreeWalk tw = TreeWalk.forPath(repository, getRepoRelativePath(absolutePath), c.getTree());
+ try (RevWalk rw = new RevWalk(repository)) {
+ RevCommit c = rw.parseCommit(ref.getObjectId());
- return tw == null || dc.getObjectId().equals(tw.getObjectId(0));
+ try (TreeWalk tw = TreeWalk.forPath(repository,
+ getRepoRelativePath(absolutePath), c.getTree())) {
+ return tw == null || dc.getObjectId().equals(tw.getObjectId(0));
+ }
+ }
}
public long lastModifiedInIndex(String path) throws IOException {
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestUtils.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestUtils.java
index 22272de74d..20654bb470 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestUtils.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestUtils.java
@@ -238,14 +238,16 @@ public class TestUtils {
Set<String> expectedfiles = new HashSet<String>();
for (String path : paths)
expectedfiles.add(path);
- TreeWalk treeWalk = new TreeWalk(repository);
- treeWalk.addTree(repository.resolve("HEAD^{tree}"));
- treeWalk.setRecursive(true);
- while (treeWalk.next()) {
- String path = treeWalk.getPathString();
- if (!expectedfiles.contains(path))
- fail("Repository contains unexpected expected file " + path);
- expectedfiles.remove(path);
+ try (TreeWalk treeWalk = new TreeWalk(repository)) {
+ treeWalk.addTree(repository.resolve("HEAD^{tree}"));
+ treeWalk.setRecursive(true);
+ while (treeWalk.next()) {
+ String path = treeWalk.getPathString();
+ if (!expectedfiles.contains(path))
+ fail("Repository contains unexpected expected file "
+ + path);
+ expectedfiles.remove(path);
+ }
}
if (expectedfiles.size() > 0) {
StringBuilder message = new StringBuilder(
@@ -273,23 +275,25 @@ public class TestUtils {
public void assertRepositoryContainsFilesWithContent(Repository repository,
String... args) throws Exception {
HashMap<String, String> expectedfiles = mkmap(args);
- TreeWalk treeWalk = new TreeWalk(repository);
- treeWalk.addTree(repository.resolve("HEAD^{tree}"));
- treeWalk.setRecursive(true);
- while (treeWalk.next()) {
- String path = treeWalk.getPathString();
- assertTrue(expectedfiles.containsKey(path));
- ObjectId objectId = treeWalk.getObjectId(0);
- byte[] expectedContent = expectedfiles.get(path).getBytes("UTF-8");
- byte[] repoContent = treeWalk.getObjectReader().open(objectId)
- .getBytes();
- if (!Arrays.equals(repoContent, expectedContent)) {
- fail("File " + path + " has repository content "
- + new String(repoContent, "UTF-8")
- + " instead of expected content "
- + new String(expectedContent, "UTF-8"));
+ try (TreeWalk treeWalk = new TreeWalk(repository)) {
+ treeWalk.addTree(repository.resolve("HEAD^{tree}"));
+ treeWalk.setRecursive(true);
+ while (treeWalk.next()) {
+ String path = treeWalk.getPathString();
+ assertTrue(expectedfiles.containsKey(path));
+ ObjectId objectId = treeWalk.getObjectId(0);
+ byte[] expectedContent = expectedfiles.get(path)
+ .getBytes("UTF-8");
+ byte[] repoContent = treeWalk.getObjectReader().open(objectId)
+ .getBytes();
+ if (!Arrays.equals(repoContent, expectedContent)) {
+ fail("File " + path + " has repository content "
+ + new String(repoContent, "UTF-8")
+ + " instead of expected content "
+ + new String(expectedContent, "UTF-8"));
+ }
+ expectedfiles.remove(path);
}
- expectedfiles.remove(path);
}
if (expectedfiles.size() > 0) {
StringBuilder message = new StringBuilder(
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/CommitOperationTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/CommitOperationTest.java
index fae6e5860b..3b3f3b3c1d 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/CommitOperationTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/CommitOperationTest.java
@@ -101,14 +101,15 @@ public class CommitOperationTest extends GitTestCase {
assertEquals("No changes", e.getCause().getMessage());
}
- TreeWalk treeWalk = new TreeWalk(repository);
- treeWalk.addTree(repository.resolve("HEAD^{tree}"));
- assertTrue(treeWalk.next());
- assertEquals("foo", treeWalk.getPathString());
- treeWalk.enterSubtree();
- assertTrue(treeWalk.next());
- assertEquals("foo/a.txt", treeWalk.getPathString());
- assertFalse(treeWalk.next());
+ try (TreeWalk treeWalk = new TreeWalk(repository)) {
+ treeWalk.addTree(repository.resolve("HEAD^{tree}"));
+ assertTrue(treeWalk.next());
+ assertEquals("foo", treeWalk.getPathString());
+ treeWalk.enterSubtree();
+ assertTrue(treeWalk.next());
+ assertEquals("foo/a.txt", treeWalk.getPathString());
+ assertFalse(treeWalk.next());
+ }
}
@Test
@@ -173,20 +174,20 @@ public class CommitOperationTest extends GitTestCase {
Git git = new Git(repository);
Iterator<RevCommit> commits = git.log().call().iterator();
RevCommit secondCommit = commits.next();
- TreeWalk treeWalk = new TreeWalk(repository);
- treeWalk.addTree(secondCommit.getTree().getId());
- treeWalk.setRecursive(true);
- treeWalk.setPostOrderTraversal(true);
- assertTrue(treeWalk.next());
- assertEquals("sub1/a.txt", treeWalk.getPathString());
- assertTrue(treeWalk.next());
- assertEquals("sub1", treeWalk.getPathString());
- assertTrue(treeWalk.next());
- assertEquals("sub2/b.txt", treeWalk.getPathString());
- assertTrue(treeWalk.next());
- assertEquals("sub2", treeWalk.getPathString());
- assertFalse(treeWalk.next());
-
+ try (TreeWalk treeWalk = new TreeWalk(repository)) {
+ treeWalk.addTree(secondCommit.getTree().getId());
+ treeWalk.setRecursive(true);
+ treeWalk.setPostOrderTraversal(true);
+ assertTrue(treeWalk.next());
+ assertEquals("sub1/a.txt", treeWalk.getPathString());
+ assertTrue(treeWalk.next());
+ assertEquals("sub1", treeWalk.getPathString());
+ assertTrue(treeWalk.next());
+ assertEquals("sub2/b.txt", treeWalk.getPathString());
+ assertTrue(treeWalk.next());
+ assertEquals("sub2", treeWalk.getPathString());
+ assertFalse(treeWalk.next());
+ }
project.getProject().getFolder("sub2").delete(IResource.FORCE, null);
IFile[] filesToCommit = { project.getProject().getFile("sub2/b.txt") };
ArrayList<IFile> notIndexed = new ArrayList<IFile>();
@@ -199,15 +200,16 @@ public class CommitOperationTest extends GitTestCase {
git = new Git(repository);
commits = git.log().call().iterator();
secondCommit = commits.next();
- treeWalk = new TreeWalk(repository);
- treeWalk.addTree(secondCommit.getTree().getId());
- treeWalk.setRecursive(true);
- treeWalk.setPostOrderTraversal(true);
- assertTrue(treeWalk.next());
- assertEquals("sub1/a.txt", treeWalk.getPathString());
- assertTrue(treeWalk.next());
- assertEquals("sub1", treeWalk.getPathString());
- assertFalse(treeWalk.next());
+ try (TreeWalk treeWalk = new TreeWalk(repository)) {
+ treeWalk.addTree(secondCommit.getTree().getId());
+ treeWalk.setRecursive(true);
+ treeWalk.setPostOrderTraversal(true);
+ assertTrue(treeWalk.next());
+ assertEquals("sub1/a.txt", treeWalk.getPathString());
+ assertTrue(treeWalk.next());
+ assertEquals("sub1", treeWalk.getPathString());
+ assertFalse(treeWalk.next());
+ }
}
@Test
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/RebaseOperationTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/RebaseOperationTest.java
index 86fbb9c08d..24f56497a0 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/RebaseOperationTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/RebaseOperationTest.java
@@ -89,10 +89,11 @@ public class RebaseOperationTest extends GitTestCase {
RebaseResult res = op.getResult();
assertEquals(RebaseResult.Status.UP_TO_DATE, res.getStatus());
- RevCommit newTopic = new RevWalk(repository).parseCommit(repository
- .resolve(TOPIC));
- assertEquals(topicCommit, newTopic);
- assertEquals(first, newTopic.getParent(0));
+ try (RevWalk rw = new RevWalk(repository)) {
+ RevCommit newTopic = rw.parseCommit(repository.resolve(TOPIC));
+ assertEquals(topicCommit, newTopic);
+ assertEquals(first, newTopic.getParent(0));
+ }
}
@Test
@@ -133,9 +134,10 @@ public class RebaseOperationTest extends GitTestCase {
RebaseResult res = op.getResult();
assertEquals(RebaseResult.Status.OK, res.getStatus());
- RevCommit newTopic = new RevWalk(repository).parseCommit(repository
- .resolve(TOPIC));
- assertEquals(second, newTopic.getParent(0));
+ try (RevWalk rw = new RevWalk(repository)) {
+ RevCommit newTopic = rw.parseCommit(repository.resolve(TOPIC));
+ assertEquals(second, newTopic.getParent(0));
+ }
}
@Test
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/StashCreateOperationTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/StashCreateOperationTest.java
index 8de5d3ff04..026119079a 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/StashCreateOperationTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/StashCreateOperationTest.java
@@ -60,9 +60,11 @@ public class StashCreateOperationTest extends GitTestCase {
StashCreateOperation stashCreateOperation = new StashCreateOperation(repository);
stashCreateOperation.execute(null);
- RevWalk revWalk = new RevWalk(repository);
- RevCommit commit = revWalk.parseCommit(repository.resolve("stash@{0}"));
- assertTrue(commit.getFullMessage().length() > 0);
+ try (RevWalk revWalk = new RevWalk(repository)) {
+ RevCommit commit = revWalk
+ .parseCommit(repository.resolve("stash@{0}"));
+ assertTrue(commit.getFullMessage().length() > 0);
+ }
}
@Test
@@ -74,9 +76,11 @@ public class StashCreateOperationTest extends GitTestCase {
StashCreateOperation stashCreateOperation = new StashCreateOperation(repository, message);
stashCreateOperation.execute(null);
- RevWalk revWalk = new RevWalk(repository);
- RevCommit commit = revWalk.parseCommit(repository.resolve("stash@{0}"));
- assertEquals(message, commit.getFullMessage());
+ try (RevWalk revWalk = new RevWalk(repository)) {
+ RevCommit commit = revWalk
+ .parseCommit(repository.resolve("stash@{0}"));
+ assertEquals(message, commit.getFullMessage());
+ }
}
@Test
@@ -88,10 +92,12 @@ public class StashCreateOperationTest extends GitTestCase {
repository, message, true);
stashCreateOperation.execute(null);
- RevWalk revWalk = new RevWalk(repository);
- RevCommit commit = revWalk.parseCommit(repository.resolve("stash@{0}"));
- // untracked commit is the third parent
- assertEquals(commit.getParentCount(), 3);
+ try (RevWalk revWalk = new RevWalk(repository)) {
+ RevCommit commit = revWalk
+ .parseCommit(repository.resolve("stash@{0}"));
+ // untracked commit is the third parent
+ assertEquals(commit.getParentCount(), 3);
+ }
}
}
diff --git a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/TagOperationTest.java b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/TagOperationTest.java
index 6f515d3da3..befd6edfc1 100644
--- a/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/TagOperationTest.java
+++ b/org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/TagOperationTest.java
@@ -94,8 +94,7 @@ public class TagOperationTest extends DualRepositoryTestCase {
// expected
}
Ref tagRef = repository1.getRepository().getTags().get("TheNewTag");
- RevWalk walk = new RevWalk(repository1.getRepository());
- try {
+ try (RevWalk walk = new RevWalk(repository1.getRepository())) {
RevTag tag = walk.parseTag(repository1.getRepository().resolve(
tagRef.getName()));
@@ -107,7 +106,6 @@ public class TagOperationTest extends DualRepositoryTestCase {
tagRef.getName()));
assertTrue("Messages be same",
tag.getFullMessage().equals(newTag.getMessage()));
- } finally {
walk.dispose();
}
}
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java
index 5d457adfe5..6bff4ab07e 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java
@@ -169,11 +169,6 @@ public class Activator extends Plugin implements DebugOptionsListener {
}
GitProjectData.attachToWorkspace(true);
- IEclipsePreferences node = InstanceScope.INSTANCE.getNode(Activator.getPluginId());
- String gitPrefix = node.get(GitCorePreferences.core_gitPrefix, null);
- if (gitPrefix != null)
- FS.DETECTED.setGitPrefix(new File(gitPrefix));
-
repositoryUtil = new RepositoryUtil();
secureStore = new EGitSecureStore(SecurePreferencesFactory.getDefault());
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/CommitUtil.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/CommitUtil.java
index 38f5248fa5..a1baf46714 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/CommitUtil.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/CommitUtil.java
@@ -102,33 +102,34 @@ public class CommitUtil {
public static boolean areCommitsInCurrentBranch(
Collection<RevCommit> commits, Repository repository)
throws IOException {
- RevWalk walk = new RevWalk(repository);
- ObjectId headCommitId = repository.resolve(Constants.HEAD);
- RevCommit headCommit = walk.parseCommit(headCommitId);
+ try (RevWalk walk = new RevWalk(repository)) {
+ ObjectId headCommitId = repository.resolve(Constants.HEAD);
+ RevCommit headCommit = walk.parseCommit(headCommitId);
- for (final RevCommit commit : commits) {
- walk.reset();
- walk.markStart(headCommit);
+ for (final RevCommit commit : commits) {
+ walk.reset();
+ walk.markStart(headCommit);
- RevFilter revFilter = new RevFilter() {
- @Override
- public boolean include(RevWalk walker, RevCommit cmit)
- throws StopWalkException, MissingObjectException,
- IncorrectObjectTypeException, IOException {
+ RevFilter revFilter = new RevFilter() {
+ @Override
+ public boolean include(RevWalk walker, RevCommit cmit)
+ throws StopWalkException, MissingObjectException,
+ IncorrectObjectTypeException, IOException {
- return cmit.equals(commit);
- }
+ return cmit.equals(commit);
+ }
- @Override
- public RevFilter clone() {
- return null;
- }
- };
- walk.setRevFilter(revFilter);
+ @Override
+ public RevFilter clone() {
+ return null;
+ }
+ };
+ walk.setRevFilter(revFilter);
- if (walk.next() == null)
- return false;
+ if (walk.next() == null)
+ return false;
+ }
+ return true;
}
- return true;
}
}
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/GitCorePreferences.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/GitCorePreferences.java
index 14c0a40e82..5468f590a4 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/GitCorePreferences.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/GitCorePreferences.java
@@ -33,7 +33,4 @@ public class GitCorePreferences {
/** */
public static final String core_autoIgnoreDerivedResources =
"core_autoIgnoreDerivedResources"; //$NON-NLS-1$
- /** */
- public static final String core_gitPrefix =
- "core_gitPrefix"; //$NON-NLS-1$
}
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/RepositoryUtil.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/RepositoryUtil.java
index 53c612c45d..257c7c715a 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/RepositoryUtil.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/RepositoryUtil.java
@@ -161,8 +161,7 @@ public class RepositoryUtil {
}
Map<String, Date> tagMap = new HashMap<String, Date>();
- try {
- RevWalk rw = new RevWalk(repository);
+ try (RevWalk rw = new RevWalk(repository)) {
Map<String, Ref> tags = repository.getRefDatabase().getRefs(
Constants.R_TAGS);
for (Ref tagRef : tags.values()) {
@@ -451,20 +450,15 @@ public class RepositoryUtil {
* @since 2.2
*/
public RevCommit parseHeadCommit(Repository repository) {
- RevWalk walk = null;
- try {
+ try (RevWalk walk = new RevWalk(repository)) {
Ref head = repository.getRef(Constants.HEAD);
if (head == null || head.getObjectId() == null)
return null;
- walk = new RevWalk(repository);
RevCommit commit = walk.parseCommit(head.getObjectId());
return commit;
} catch (IOException e) {
return null;
- } finally {
- if (walk != null)
- walk.close();
}
}
@@ -488,8 +482,7 @@ public class RepositoryUtil {
if (treeIterator == null)
return true;
String repoRelativePath = mapping.getRepoRelativePath(path);
- TreeWalk walk = new TreeWalk(repository);
- try {
+ try (TreeWalk walk = new TreeWalk(repository)) {
walk.addTree(treeIterator);
walk.setFilter(PathFilter.create(repoRelativePath));
while (walk.next()) {
@@ -501,8 +494,6 @@ public class RepositoryUtil {
.equals(FileMode.TREE))
walk.enterSubtree();
}
- } finally {
- walk.close();
}
return false;
}
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/RevUtils.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/RevUtils.java
index 698252d4d9..c5e35a8f07 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/RevUtils.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/RevUtils.java
@@ -138,8 +138,7 @@ public class RevUtils {
final int skew = 24 * 60 * 60; // one day clock skew
- RevWalk walk = new RevWalk(repo);
- try {
+ try (RevWalk walk = new RevWalk(repo)) {
RevCommit commit = walk.parseCommit(commitId);
for (Ref ref : refs) {
RevCommit refCommit = walk.parseCommit(ref.getObjectId());
@@ -154,7 +153,6 @@ public class RevUtils {
if (contained)
return true;
}
- } finally {
walk.dispose();
}
return false;
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/CompareCoreUtils.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/CompareCoreUtils.java
index 936f60ae7f..c3f2b62305 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/CompareCoreUtils.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/CompareCoreUtils.java
@@ -101,32 +101,33 @@ public class CompareCoreUtils {
public static DiffEntry getChangeDiffEntry(Repository repository, String newPath,
RevCommit newCommit, RevCommit oldCommit, ObjectReader objectReader)
throws IOException {
- TreeWalk walk = new TreeWalk(objectReader);
- walk.setRecursive(true);
- walk.addTree(oldCommit.getTree());
- walk.addTree(newCommit.getTree());
+ try (TreeWalk walk = new TreeWalk(objectReader)) {
+ walk.setRecursive(true);
+ walk.addTree(oldCommit.getTree());
+ walk.addTree(newCommit.getTree());
- List<DiffEntry> entries = DiffEntry.scan(walk);
+ List<DiffEntry> entries = DiffEntry.scan(walk);
- for (DiffEntry diff : entries) {
- if (diff.getChangeType() == ChangeType.MODIFY
- && newPath.equals(diff.getNewPath()))
- return diff;
- }
+ for (DiffEntry diff : entries) {
+ if (diff.getChangeType() == ChangeType.MODIFY
+ && newPath.equals(diff.getNewPath()))
+ return diff;
+ }
- if (entries.size() < 2)
- return null;
+ if (entries.size() < 2)
+ return null;
- RenameDetector detector = new RenameDetector(repository);
- detector.addAll(entries);
- List<DiffEntry> renames = detector.compute(walk.getObjectReader(),
- NullProgressMonitor.INSTANCE);
- for (DiffEntry diff : renames) {
- if (diff.getChangeType() == ChangeType.RENAME
- && newPath.equals(diff.getNewPath()))
- return diff;
- }
+ RenameDetector detector = new RenameDetector(repository);
+ detector.addAll(entries);
+ List<DiffEntry> renames = detector.compute(walk.getObjectReader(),
+ NullProgressMonitor.INSTANCE);
+ for (DiffEntry diff : renames) {
+ if (diff.getChangeType() == ChangeType.RENAME
+ && newPath.equals(diff.getNewPath()))
+ return diff;
+ }
- return null;
+ return null;
+ }
}
}
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/TagOperation.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/TagOperation.java
index ac941383c2..9316373f3a 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/TagOperation.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/TagOperation.java
@@ -94,12 +94,9 @@ public class TagOperation implements IEGitOperation {
try {
ObjectId tagId;
repo.open(startPointRef);
- ObjectInserter inserter = repo.newObjectInserter();
- try {
+ try (ObjectInserter inserter = repo.newObjectInserter()) {
tagId = inserter.insert(tag);
inserter.flush();
- } finally {
- inserter.release();
}
return tagId;
} catch (IOException e) {
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitCommitsModelCache.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitCommitsModelCache.java
index 47f9f62f71..5b672ed990 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitCommitsModelCache.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitCommitsModelCache.java
@@ -331,59 +331,59 @@ public class GitCommitsModelCache {
if (dstId.equals(srcId))
return new ArrayList<Commit>(0);
- final RevWalk rw = new RevWalk(repo);
-
- final RevFlag localFlag = rw.newFlag("local"); //$NON-NLS-1$
- final RevFlag remoteFlag = rw.newFlag("remote"); //$NON-NLS-1$
- final RevFlagSet allFlags = new RevFlagSet();
- allFlags.add(localFlag);
- allFlags.add(remoteFlag);
- rw.carry(allFlags);
-
- RevCommit srcCommit = rw.parseCommit(srcId);
- srcCommit.add(localFlag);
- rw.markStart(srcCommit);
- srcCommit = null; // free not needed resources
-
- RevCommit dstCommit = rw.parseCommit(dstId);
- dstCommit.add(remoteFlag);
- rw.markStart(dstCommit);
- dstCommit = null; // free not needed resources
-
- if (pathFilter != null)
- rw.setTreeFilter(pathFilter);
-
- List<Commit> result = new ArrayList<Commit>();
- for (RevCommit revCommit : rw) {
- if (revCommit.hasAll(allFlags))
- break;
-
- Commit commit = new Commit();
- commit.shortMessage = revCommit.getShortMessage();
- commit.commitId = AbbreviatedObjectId.fromObjectId(revCommit);
- commit.authorName = revCommit.getAuthorIdent().getName();
- commit.committerName = revCommit.getCommitterIdent().getName();
- commit.commitDate = revCommit.getAuthorIdent().getWhen();
-
- RevCommit parentCommit = getParentCommit(revCommit);
- if (revCommit.has(localFlag))
- // Outgoing
- commit.direction = RIGHT;
- else if (revCommit.has(remoteFlag))
- // Incoming
- commit.direction = LEFT;
- else
- throw new GitCommitsModelDirectionException();
-
- commit.children = getChangedObjects(repo, revCommit,
- parentCommit, pathFilter, commit.direction);
-
- if (commit.children != null)
- result.add(commit);
+ try (RevWalk rw = new RevWalk(repo)) {
+
+ final RevFlag localFlag = rw.newFlag("local"); //$NON-NLS-1$
+ final RevFlag remoteFlag = rw.newFlag("remote"); //$NON-NLS-1$
+ final RevFlagSet allFlags = new RevFlagSet();
+ allFlags.add(localFlag);
+ allFlags.add(remoteFlag);
+ rw.carry(allFlags);
+
+ RevCommit srcCommit = rw.parseCommit(srcId);
+ srcCommit.add(localFlag);
+ rw.markStart(srcCommit);
+ srcCommit = null; // free not needed resources
+
+ RevCommit dstCommit = rw.parseCommit(dstId);
+ dstCommit.add(remoteFlag);
+ rw.markStart(dstCommit);
+ dstCommit = null; // free not needed resources
+
+ if (pathFilter != null)
+ rw.setTreeFilter(pathFilter);
+
+ List<Commit> result = new ArrayList<Commit>();
+ for (RevCommit revCommit : rw) {
+ if (revCommit.hasAll(allFlags))
+ break;
+
+ Commit commit = new Commit();
+ commit.shortMessage = revCommit.getShortMessage();
+ commit.commitId = AbbreviatedObjectId.fromObjectId(revCommit);
+ commit.authorName = revCommit.getAuthorIdent().getName();
+ commit.committerName = revCommit.getCommitterIdent().getName();
+ commit.commitDate = revCommit.getAuthorIdent().getWhen();
+
+ RevCommit parentCommit = getParentCommit(revCommit);
+ if (revCommit.has(localFlag))
+ // Outgoing
+ commit.direction = RIGHT;
+ else if (revCommit.has(remoteFlag))
+ // Incoming
+ commit.direction = LEFT;
+ else
+ throw new GitCommitsModelDirectionException();
+
+ commit.children = getChangedObjects(repo, revCommit,
+ parentCommit, pathFilter, commit.direction);
+
+ if (commit.children != null)
+ result.add(commit);
+ }
+ rw.dispose();
+ return result;
}
- rw.dispose();
-
- return result;
}
private static RevCommit getParentCommit(RevCommit commit) {
diff --git a/org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java b/org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java
index f201fdab91..dafc8967be 100644
--- a/org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java
+++ b/org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java
@@ -79,14 +79,13 @@ public class TaskReferenceFactory implements IAdapterFactory {
private AbstractTaskReference adaptFromRevCommit(RevCommit commit) {
Repository[] repositories = Activator.getDefault().getRepositoryCache().getAllRepositories();
for (Repository r : repositories) {
- RevWalk revWalk = new RevWalk(r);
String repoUrl = null;
String message = null;
long timestamp = 0;
// try to get repository url and commit message
- try {
+ try (RevWalk revWalk = new RevWalk(r)) {
RevCommit revCommit = revWalk.parseCommit(commit);
if (revCommit != null) {
repoUrl = getRepoUrl(r);
@@ -127,8 +126,9 @@ public class TaskReferenceFactory implements IAdapterFactory {
GitModelRepository parent = (GitModelRepository) modelCommit.getParent();
Repository repo = parent.getRepository();
AbbreviatedObjectId id = modelCommit.getCachedCommitObj().getId();
-
- commit = new RevWalk(repo).lookupCommit(id.toObjectId());
+ try (RevWalk rw = new RevWalk(repo)) {
+ commit = rw.lookupCommit(id.toObjectId());
+ }
}
return commit;
}
diff --git a/org.eclipse.egit.target/egit-4.5-staging.target b/org.eclipse.egit.target/egit-4.5-staging.target
index fe8467084d..cccc0b8862 100644
--- a/org.eclipse.egit.target/egit-4.5-staging.target
+++ b/org.eclipse.egit.target/egit-4.5-staging.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="egit-4.5-staging" sequenceNumber="1431244198">
+<target name="egit-4.5-staging" sequenceNumber="1432590419">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.2.10.v20150310"/>
@@ -40,8 +40,8 @@
<repository location="http://download.eclipse.org/mylyn/releases/latest/"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
- <unit id="org.apache.ant" version="1.9.4.v201410062020"/>
- <unit id="org.apache.ant.source" version="1.9.4.v201410062020"/>
+ <unit id="org.apache.ant" version="1.9.4.v201504302020"/>
+ <unit id="org.apache.ant.source" version="1.9.4.v201504302020"/>
<unit id="org.apache.commons.compress" version="1.6.0.v201310281400"/>
<unit id="org.apache.commons.compress.source" version="1.6.0.v201310281400"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
@@ -54,15 +54,15 @@
<unit id="org.hamcrest.generator.source" version="1.3.0.v201305210900"/>
<unit id="org.hamcrest.integration" version="1.3.0.v201305210900"/>
<unit id="org.hamcrest.integration.source" version="1.3.0.v201305210900"/>
- <unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
- <unit id="org.hamcrest.library.source" version="1.3.0.v201305281000"/>
+ <unit id="org.hamcrest.library" version="1.3.0.v201505072020"/>
+ <unit id="org.hamcrest.library.source" version="1.3.0.v201505072020"/>
<unit id="org.hamcrest" version="1.1.0.v20090501071000"/>
<unit id="org.hamcrest.text" version="1.1.0.v20090501071000"/>
<unit id="org.hamcrest.text.source" version="1.1.0.v20090501071000"/>
<unit id="javaewah" version="0.7.9.v201401101600"/>
<unit id="javaewah.source" version="0.7.9.v201401101600"/>
- <unit id="org.objenesis" version="1.0.0.v201105211943"/>
- <unit id="org.objenesis.source" version="1.0.0.v201105211943"/>
+ <unit id="org.objenesis" version="1.0.0.v201505121915"/>
+ <unit id="org.objenesis.source" version="1.0.0.v201505121915"/>
<unit id="org.mockito" version="1.8.4.v201303031500"/>
<unit id="org.mockito.source" version="1.8.4.v201303031500"/>
<unit id="com.jcraft.jsch" version="0.1.51.v201410302000"/>
@@ -77,7 +77,7 @@
<unit id="org.slf4j.api.source" version="1.7.2.v20121108-1250"/>
<unit id="org.slf4j.impl.log4j12" version="1.7.2.v20131105-2200"/>
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
- <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20150202203538/repository/"/>
+ <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20150519210750/repository/"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.sdk.ide" version="0.0.0"/>
diff --git a/org.eclipse.egit.target/egit-4.5-staging.tpd b/org.eclipse.egit.target/egit-4.5-staging.tpd
index 509caa9269..8d7fcbc445 100644
--- a/org.eclipse.egit.target/egit-4.5-staging.tpd
+++ b/org.eclipse.egit.target/egit-4.5-staging.tpd
@@ -3,6 +3,6 @@ target "egit-4.5-staging" with source configurePhase
include "projects/jetty-9.2.10.tpd"
include "projects/swtbot-2.1.0.tpd"
include "projects/mylyn-latest.tpd"
-include "orbit/S20150202203538-Mars-M5.tpd"
+include "orbit/S20150519210750-Mars-RC2.tpd"
include "releasetrain/staging.tpd"
include "projects/easymport.tpd"
diff --git a/org.eclipse.egit.target/egit-4.5.target b/org.eclipse.egit.target/egit-4.5.target
index 58b51f626a..3ef0a82060 100644
--- a/org.eclipse.egit.target/egit-4.5.target
+++ b/org.eclipse.egit.target/egit-4.5.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="egit-4.5" sequenceNumber="1431126206">
+<target name="egit-4.5" sequenceNumber="1432590370">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.2.10.v20150310"/>
@@ -40,8 +40,8 @@
<repository location="http://download.eclipse.org/mylyn/releases/latest/"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
- <unit id="org.apache.ant" version="1.9.4.v201410062020"/>
- <unit id="org.apache.ant.source" version="1.9.4.v201410062020"/>
+ <unit id="org.apache.ant" version="1.9.4.v201504302020"/>
+ <unit id="org.apache.ant.source" version="1.9.4.v201504302020"/>
<unit id="org.apache.commons.compress" version="1.6.0.v201310281400"/>
<unit id="org.apache.commons.compress.source" version="1.6.0.v201310281400"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
@@ -54,15 +54,15 @@
<unit id="org.hamcrest.generator.source" version="1.3.0.v201305210900"/>
<unit id="org.hamcrest.integration" version="1.3.0.v201305210900"/>
<unit id="org.hamcrest.integration.source" version="1.3.0.v201305210900"/>
- <unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
- <unit id="org.hamcrest.library.source" version="1.3.0.v201305281000"/>
+ <unit id="org.hamcrest.library" version="1.3.0.v201505072020"/>
+ <unit id="org.hamcrest.library.source" version="1.3.0.v201505072020"/>
<unit id="org.hamcrest" version="1.1.0.v20090501071000"/>
<unit id="org.hamcrest.text" version="1.1.0.v20090501071000"/>
<unit id="org.hamcrest.text.source" version="1.1.0.v20090501071000"/>
<unit id="javaewah" version="0.7.9.v201401101600"/>
<unit id="javaewah.source" version="0.7.9.v201401101600"/>
- <unit id="org.objenesis" version="1.0.0.v201105211943"/>
- <unit id="org.objenesis.source" version="1.0.0.v201105211943"/>
+ <unit id="org.objenesis" version="1.0.0.v201505121915"/>
+ <unit id="org.objenesis.source" version="1.0.0.v201505121915"/>
<unit id="org.mockito" version="1.8.4.v201303031500"/>
<unit id="org.mockito.source" version="1.8.4.v201303031500"/>
<unit id="com.jcraft.jsch" version="0.1.51.v201410302000"/>
@@ -77,7 +77,7 @@
<unit id="org.slf4j.api.source" version="1.7.2.v20121108-1250"/>
<unit id="org.slf4j.impl.log4j12" version="1.7.2.v20131105-2200"/>
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
- <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20150202203538/repository/"/>
+ <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20150519210750/repository/"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.sdk.ide" version="0.0.0"/>
diff --git a/org.eclipse.egit.target/egit-4.5.tpd b/org.eclipse.egit.target/egit-4.5.tpd
index ed1eb03b61..2c51211373 100644
--- a/org.eclipse.egit.target/egit-4.5.tpd
+++ b/org.eclipse.egit.target/egit-4.5.tpd
@@ -3,6 +3,6 @@ target "egit-4.5" with source configurePhase
include "projects/jetty-9.2.10.tpd"
include "projects/swtbot-2.1.0.tpd"
include "projects/mylyn-latest.tpd"
-include "orbit/S20150202203538-Mars-M5.tpd"
+include "orbit/S20150519210750-Mars-RC2.tpd"
include "releasetrain/4.5-mars.tpd"
include "projects/easymport.tpd"
diff --git a/org.eclipse.egit.target/orbit/S20150202203538-Mars-M5.tpd b/org.eclipse.egit.target/orbit/S20150519210750-Mars-RC2.tpd
index 93ba36b3c2..2e84d2d451 100644
--- a/org.eclipse.egit.target/orbit/S20150202203538-Mars-M5.tpd
+++ b/org.eclipse.egit.target/orbit/S20150519210750-Mars-RC2.tpd
@@ -1,9 +1,9 @@
target "S20141023165154-Mars-M3" with source configurePhase
// see http://download.eclipse.org/tools/orbit/downloads/
-location "http://download.eclipse.org/tools/orbit/downloads/drops/S20150202203538/repository/" {
- org.apache.ant [1.9.4.v201410062020,1.9.4.v201410062020]
- org.apache.ant.source [1.9.4.v201410062020,1.9.4.v201410062020]
+location "http://download.eclipse.org/tools/orbit/downloads/drops/S20150519210750/repository/" {
+ org.apache.ant [1.9.4.v201504302020,1.9.4.v201504302020]
+ org.apache.ant.source [1.9.4.v201504302020,1.9.4.v201504302020]
org.apache.commons.compress [1.6.0.v201310281400,1.6.0.v201310281400]
org.apache.commons.compress.source [1.6.0.v201310281400,1.6.0.v201310281400]
org.apache.log4j [1.2.15.v201012070815,1.2.15.v201012070815]
@@ -16,15 +16,15 @@ location "http://download.eclipse.org/tools/orbit/downloads/drops/S2015020220353
org.hamcrest.generator.source [1.3.0.v201305210900,1.3.0.v201305210900]
org.hamcrest.integration [1.3.0.v201305210900,1.3.0.v201305210900]
org.hamcrest.integration.source [1.3.0.v201305210900,1.3.0.v201305210900]
- org.hamcrest.library [1.3.0.v201305281000,1.3.0.v201305281000]
- org.hamcrest.library.source [1.3.0.v201305281000,1.3.0.v201305281000]
+ org.hamcrest.library [1.3.0.v201505072020,1.3.0.v201505072020]
+ org.hamcrest.library.source [1.3.0.v201505072020,1.3.0.v201505072020]
org.hamcrest [1.1.0.v20090501071000,1.1.0.v20090501071000]
org.hamcrest.text [1.1.0.v20090501071000,1.1.0.v20090501071000]
org.hamcrest.text.source [1.1.0.v20090501071000,1.1.0.v20090501071000]
javaewah [0.7.9.v201401101600,0.7.9.v201401101600]
javaewah.source [0.7.9.v201401101600,0.7.9.v201401101600]
- org.objenesis [1.0.0.v201105211943,1.0.0.v201105211943]
- org.objenesis.source [1.0.0.v201105211943,1.0.0.v201105211943]
+ org.objenesis [1.0.0.v201505121915,1.0.0.v201505121915]
+ org.objenesis.source [1.0.0.v201505121915,1.0.0.v201505121915]
org.mockito [1.8.4.v201303031500,1.8.4.v201303031500]
org.mockito.source [1.8.4.v201303031500,1.8.4.v201303031500]
com.jcraft.jsch [0.1.51.v201410302000,0.1.51.v201410302000]
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/TestUtil.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/TestUtil.java
index 36b5c27886..1bf1e586df 100644
--- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/TestUtil.java
+++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/TestUtil.java
@@ -366,14 +366,16 @@ public class TestUtil {
Set<String> expectedfiles = new HashSet<String>();
for (String path : paths)
expectedfiles.add(path);
- TreeWalk treeWalk = new TreeWalk(repository);
- treeWalk.addTree(repository.resolve("HEAD^{tree}"));
- treeWalk.setRecursive(true);
- while (treeWalk.next()) {
- String path = treeWalk.getPathString();
- if (!expectedfiles.contains(path))
- fail("Repository contains unexpected expected file " + path);
- expectedfiles.remove(path);
+ try (TreeWalk treeWalk = new TreeWalk(repository)) {
+ treeWalk.addTree(repository.resolve("HEAD^{tree}"));
+ treeWalk.setRecursive(true);
+ while (treeWalk.next()) {
+ String path = treeWalk.getPathString();
+ if (!expectedfiles.contains(path))
+ fail("Repository contains unexpected expected file "
+ + path);
+ expectedfiles.remove(path);
+ }
}
if (expectedfiles.size() > 0) {
StringBuilder message = new StringBuilder(
@@ -401,22 +403,24 @@ public class TestUtil {
public static void assertRepositoryContainsFilesWithContent(Repository repository,
String... args) throws Exception {
HashMap<String, String> expectedfiles = mkmap(args);
- TreeWalk treeWalk = new TreeWalk(repository);
- treeWalk.addTree(repository.resolve("HEAD^{tree}"));
- treeWalk.setRecursive(true);
- while (treeWalk.next()) {
- String path = treeWalk.getPathString();
- assertTrue(expectedfiles.containsKey(path));
- ObjectId objectId = treeWalk.getObjectId(0);
- byte[] expectedContent = expectedfiles.get(path).getBytes("UTF-8");
- byte[] repoContent = treeWalk.getObjectReader().open(objectId)
- .getBytes();
- if (!Arrays.equals(repoContent, expectedContent))
- fail("File " + path + " has repository content "
- + new String(repoContent, "UTF-8")
- + " instead of expected content "
- + new String(expectedContent, "UTF-8"));
- expectedfiles.remove(path);
+ try (TreeWalk treeWalk = new TreeWalk(repository)) {
+ treeWalk.addTree(repository.resolve("HEAD^{tree}"));
+ treeWalk.setRecursive(true);
+ while (treeWalk.next()) {
+ String path = treeWalk.getPathString();
+ assertTrue(expectedfiles.containsKey(path));
+ ObjectId objectId = treeWalk.getObjectId(0);
+ byte[] expectedContent = expectedfiles.get(path)
+ .getBytes("UTF-8");
+ byte[] repoContent = treeWalk.getObjectReader().open(objectId)
+ .getBytes();
+ if (!Arrays.equals(repoContent, expectedContent))
+ fail("File " + path + " has repository content "
+ + new String(repoContent, "UTF-8")
+ + " instead of expected content "
+ + new String(expectedContent, "UTF-8"));
+ expectedfiles.remove(path);
+ }
}
if (expectedfiles.size() > 0) {
StringBuilder message = new StringBuilder(
@@ -510,8 +514,11 @@ public class TestUtil {
throws Exception {
RevCommit headCommit = null;
ObjectId parentId = repository.resolve(Constants.HEAD);
- if (parentId != null)
- headCommit = new RevWalk(repository).parseCommit(parentId);
+ if (parentId != null) {
+ try (RevWalk rw = new RevWalk(repository)) {
+ headCommit = rw.parseCommit(parentId);
+ }
+ }
return headCommit;
}
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/FetchAndMergeActionTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/FetchAndMergeActionTest.java
index 1ef9507f17..22f2ce6eee 100644
--- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/FetchAndMergeActionTest.java
+++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/FetchAndMergeActionTest.java
@@ -140,9 +140,10 @@ public class FetchAndMergeActionTest extends LocalRepositoryTestCase {
private RevCommit getCommitForHead() throws Exception {
Repository repo = lookupRepository(repositoryFile);
- RevWalk rw = new RevWalk(repo);
- ObjectId id = repo.resolve(repo.getFullBranch());
- return rw.parseCommit(id);
+ try (RevWalk rw = new RevWalk(repo)) {
+ ObjectId id = repo.resolve(repo.getFullBranch());
+ return rw.parseCommit(id);
+ }
}
private void mergeBranch(String branchToMerge, boolean squash) throws Exception {
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/PushActionTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/PushActionTest.java
index 520fbfc854..e03dde5f2b 100644
--- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/PushActionTest.java
+++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/PushActionTest.java
@@ -65,50 +65,52 @@ public class PushActionTest extends LocalRepositoryTestCase {
throws Exception, MissingObjectException,
IncorrectObjectTypeException, IOException {
Repository repo = lookupRepository(remoteRepositoryFile);
- RevWalk rw = new RevWalk(repo);
- String previous = rw.parseCommit(repo.resolve("HEAD")).name();
+ try (RevWalk rw = new RevWalk(repo)) {
+ String previous = rw.parseCommit(repo.resolve("HEAD")).name();
+ touchAndSubmit(null);
+ SWTBotShell pushDialog = openPushDialog();
+
+ SWTBotCombo destinationCombo = pushDialog.bot().comboBox();
+ String[] items = destinationCombo.items();
+ for (int i = 0; i < items.length; i++) {
+ if (items[i].startsWith(destination))
+ destinationCombo.setSelection(i);
+ }
- touchAndSubmit(null);
- SWTBotShell pushDialog = openPushDialog();
-
- SWTBotCombo destinationCombo = pushDialog.bot().comboBox();
- String[] items = destinationCombo.items();
- for (int i = 0; i < items.length; i++) {
- if (items[i].startsWith(destination))
- destinationCombo.setSelection(i);
- }
-
- pushDialog.bot().button(IDialogConstants.NEXT_LABEL).click();
- if (withConfirmPage)
pushDialog.bot().button(IDialogConstants.NEXT_LABEL).click();
- pushDialog.bot().button(IDialogConstants.FINISH_LABEL).click();
- SWTBotShell confirm = bot.shell(NLS.bind(UIText.PushResultDialog_title,
- destination));
- String result = confirm.bot().tree().getAllItems()[0].getText();
+ if (withConfirmPage)
+ pushDialog.bot().button(IDialogConstants.NEXT_LABEL).click();
+ pushDialog.bot().button(IDialogConstants.FINISH_LABEL).click();
+ SWTBotShell confirm = bot.shell(
+ NLS.bind(UIText.PushResultDialog_title, destination));
+ String result = confirm.bot().tree().getAllItems()[0].getText();
- assertTrue("Wrong result", result.contains(previous.substring(0, 7)));
+ assertTrue("Wrong result",
+ result.contains(previous.substring(0, 7)));
- confirm.close();
+ confirm.close();
- pushDialog = openPushDialog();
+ pushDialog = openPushDialog();
- destinationCombo = pushDialog.bot().comboBox();
- for (int i = 0; i < items.length; i++) {
- if (items[i].startsWith(destination))
- destinationCombo.setSelection(i);
- }
+ destinationCombo = pushDialog.bot().comboBox();
+ for (int i = 0; i < items.length; i++) {
+ if (items[i].startsWith(destination))
+ destinationCombo.setSelection(i);
+ }
- pushDialog.bot().button(IDialogConstants.NEXT_LABEL).click();
- if (withConfirmPage)
pushDialog.bot().button(IDialogConstants.NEXT_LABEL).click();
- pushDialog.bot().button(IDialogConstants.FINISH_LABEL).click();
- confirm = bot.shell(NLS.bind(UIText.PushResultDialog_title, destination));
- result = confirm.bot().tree().getAllItems()[0].getText();
+ if (withConfirmPage)
+ pushDialog.bot().button(IDialogConstants.NEXT_LABEL).click();
+ pushDialog.bot().button(IDialogConstants.FINISH_LABEL).click();
+ confirm = bot.shell(
+ NLS.bind(UIText.PushResultDialog_title, destination));
+ result = confirm.bot().tree().getAllItems()[0].getText();
- confirm.close();
+ confirm.close();
- assertTrue("Wrong result",
- result.contains(UIText.PushResultTable_statusUpToDate));
+ assertTrue("Wrong result",
+ result.contains(UIText.PushResultTable_statusUpToDate));
+ }
}
private SWTBotShell openPushDialog() throws Exception {
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/PluginPreferenceInitializer.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/PluginPreferenceInitializer.java
index dcaeef7b47..691daa107f 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/PluginPreferenceInitializer.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/PluginPreferenceInitializer.java
@@ -85,7 +85,6 @@ public class PluginPreferenceInitializer extends AbstractPreferenceInitializer {
store.setDefault(UIPreferences.SHOW_REBASE_CONFIRM, true);
store.setDefault(UIPreferences.SHOW_INITIAL_CONFIG_DIALOG, true);
store.setDefault(UIPreferences.SHOW_HOME_DIR_WARNING, true);
- store.setDefault(UIPreferences.SHOW_GIT_PREFIX_WARNING, true);
store.setDefault(UIPreferences.SHOW_DETACHED_HEAD_WARNING, true);
store.setDefault(UIPreferences.SHOW_CHECKOUT_CONFIRMATION, true);
store.setDefault(UIPreferences.SHOW_RUNNING_LAUNCH_ON_CHECKOUT_WARNING,
@@ -100,6 +99,7 @@ public class PluginPreferenceInitializer extends AbstractPreferenceInitializer {
store.setDefault(UIPreferences.DATE_FORMAT,
UIPreferences.DEFAULT_DATE_FORMAT);
store.setDefault(UIPreferences.HISTORY_MAX_NUM_COMMITS, 10000);
+ store.setDefault(UIPreferences.HISTORY_SHOW_BRANCH_SEQUENCE, true);
store.setDefault(UIPreferences.HISTORY_SHOW_TAG_SEQUENCE, false);
store.setDefault(UIPreferences.BLAME_IGNORE_WHITESPACE, false);
store.setDefault(UIPreferences.REMOTE_CONNECTION_TIMEOUT, 30 /* seconds */);
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java
index 9d182dcf1d..daa914dce2 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java
@@ -172,8 +172,6 @@ public class UIPreferences {
/** */
public static final String SHOW_HOME_DIR_WARNING = "show_home_drive_warning"; //$NON-NLS-1$
/** */
- public static final String SHOW_GIT_PREFIX_WARNING = "show_git_prefix_warning"; //$NON-NLS-1$
- /** */
public static final String SHOW_DETACHED_HEAD_WARNING = "show_detached_head_warning"; //$NON-NLS-1$
/** */
public static final String SHOW_CHECKOUT_CONFIRMATION = "show_checkout_confirmation"; //$NON-NLS-1$
@@ -196,6 +194,8 @@ public class UIPreferences {
/** */
public static final String HISTORY_SHOW_TAG_SEQUENCE = "HistoryView_ShowTagSequence"; //$NON-NLS-1$
/** */
+ public static final String HISTORY_SHOW_BRANCH_SEQUENCE = "HistoryView_ShowBranchSequence"; //$NON-NLS-1$
+ /** */
public static final String STAGING_VIEW_SHOW_NEW_COMMITS = "StagingView_ShowNewCommits"; //$NON-NLS-1$
/** */
public static final String STAGING_VIEW_COLUMN_LAYOUT = "StagingView_ColumnLayout"; //$NON-NLS-1$
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/ConfigurationChecker.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/ConfigurationChecker.java
index 10cfb68ddc..0674e2af71 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/ConfigurationChecker.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/ConfigurationChecker.java
@@ -18,7 +18,6 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.egit.ui.Activator;
import org.eclipse.egit.ui.UIPreferences;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.SystemReader;
import org.eclipse.osgi.util.NLS;
import org.eclipse.ui.PlatformUI;
@@ -59,20 +58,9 @@ public class ConfigurationChecker {
}
private static void check() {
- checkGitPrefix();
checkHome();
}
- private static void checkGitPrefix() {
- IPreferenceStore store = Activator.getDefault().getPreferenceStore();
- boolean hidden = !store
- .getBoolean(UIPreferences.SHOW_GIT_PREFIX_WARNING);
- if (!hidden && FS.DETECTED.gitPrefix() == null)
- Activator.handleIssue(IStatus.WARNING,
- UIText.ConfigurationChecker_gitPrefixWarningMessage, null,
- false);
- }
-
private static void checkHome() {
String home = System.getenv("HOME"); //$NON-NLS-1$
if (home != null)
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java
index e915024793..f9f51d5136 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java
@@ -1925,6 +1925,9 @@ public class UIText extends NLS {
public static String ResourceHistory_ShowTagSequence;
/** */
+ public static String ResourceHistory_ShowBranchSequence;
+
+ /** */
public static String ResourceHistory_toggleRelativeDate;
/** */
@@ -2342,33 +2345,18 @@ public class UIText extends NLS {
public static String CommitDialog_Title;
/** */
- public static String ConfigurationChecker_gitPrefixWarningMessage;
-
- /** */
public static String ConfigurationChecker_checkConfiguration;
/** */
public static String ConfigurationChecker_homeNotSet;
/** */
- public static String ConfigurationEditorComponent_BrowseForPrefix;
-
- /** */
- public static String ConfigurationEditorComponent_CannotChangeGitPrefixError;
-
- /** */
public static String ConfigurationEditorComponent_ConfigLocationLabel;
/** */
public static String ConfigurationEditorComponent_EmptyStringNotAllowed;
/** */
- public static String ConfigurationEditorComponent_GitPrefixSelectionErrorMessage;
-
- /** */
- public static String ConfigurationEditorComponent_GitPrefixSelectionErrorTitle;
-
- /** */
public static String ConfigurationEditorComponent_KeyColumnHeader;
/** */
@@ -3482,9 +3470,6 @@ public class UIText extends NLS {
public static String DialogsPreferencePage_HomeDirWarning;
/** */
- public static String DialogsPreferencePage_GitPrefixWarning;
-
- /** */
public static String DialogsPreferencePage_RebaseCheckbox;
/** */
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/RepositoryActionHandler.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/RepositoryActionHandler.java
index ea594e11e9..a67991ead7 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/RepositoryActionHandler.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/RepositoryActionHandler.java
@@ -471,10 +471,9 @@ abstract class RepositoryActionHandler extends AbstractHandler {
IResource resource = getSelectedResources()[0];
String path = RepositoryMapping.getMapping(resource.getProject())
.getRepoRelativePath(resource);
- RevWalk rw = new RevWalk(repository);
- rw.sort(RevSort.COMMIT_TIME_DESC, true);
- rw.sort(RevSort.BOUNDARY, true);
- try {
+ try (RevWalk rw = new RevWalk(repository)) {
+ rw.sort(RevSort.COMMIT_TIME_DESC, true);
+ rw.sort(RevSort.BOUNDARY, true);
if (path.length() > 0) {
DiffConfig diffConfig = repository.getConfig().get(
DiffConfig.KEY);
@@ -502,7 +501,6 @@ abstract class RepositoryActionHandler extends AbstractHandler {
}
previousCommit = rw.next();
}
- } finally {
rw.dispose();
}
return result;
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java
index c2f4df0c3f..acf51c487f 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java
@@ -9,6 +9,7 @@
package org.eclipse.egit.ui.internal.actions;
import java.io.IOException;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -27,6 +28,7 @@ import org.eclipse.jgit.lib.ConfigConstants;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.ReflogEntry;
+import org.eclipse.jgit.lib.ReflogReader;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
@@ -114,8 +116,14 @@ public class SwitchToMenu extends ContributionItem implements
CommonUtils.STRING_ASCENDING_COMPARATOR);
// Add the MAX_NUM_MENU_ENTRIES most recently used branches first
- List<ReflogEntry> reflogEntries = repository.getReflogReader(
- Constants.HEAD).getReverseEntries();
+ ReflogReader reflogReader = repository.getReflogReader(
+ Constants.HEAD);
+ List<ReflogEntry> reflogEntries;
+ if (reflogReader == null) {
+ reflogEntries = Collections.emptyList();
+ } else {
+ reflogEntries = reflogReader.getReverseEntries();
+ }
for (ReflogEntry entry : reflogEntries) {
CheckoutEntry checkout = entry.parseCheckout();
if (checkout != null) {
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWithMenu.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWithMenu.java
index f1036317e6..846e7cefee 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWithMenu.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWithMenu.java
@@ -222,6 +222,7 @@ public class SynchronizeWithMenu extends ContributionItem implements
} catch (IOException e) {
Activator.logError(e.getMessage(), e);
} finally {
+ rw.close();
rw.dispose();
}
}
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorPage.java
index fbfae3fe47..58a4682d4a 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorPage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorPage.java
@@ -523,8 +523,7 @@ public class CommitEditorPage extends FormPage implements ISchedulingRule {
private List<Ref> loadBranches() {
Repository repository = getCommit().getRepository();
RevCommit commit = getCommit().getRevCommit();
- RevWalk revWalk = new RevWalk(repository);
- try {
+ try (RevWalk revWalk = new RevWalk(repository)) {
Map<String, Ref> refsMap = new HashMap<String, Ref>();
refsMap.putAll(repository.getRefDatabase().getRefs(
Constants.R_HEADS));
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java
index f37857a5bb..cc7fcaa897 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java
@@ -100,10 +100,10 @@ public class CommitHelper {
private static RevCommit getHeadCommit(Repository repository) {
RevCommit headCommit = null;
- try {
+ try (RevWalk rw = new RevWalk(repository)) {
ObjectId parentId = repository.resolve(Constants.HEAD);
if (parentId != null)
- headCommit = new RevWalk(repository).parseCommit(parentId);
+ headCommit = rw.parseCommit(parentId);
} catch (IOException e) {
Activator.handleError(UIText.CommitAction_errorRetrievingCommit, e,
true);
@@ -124,9 +124,9 @@ public class CommitHelper {
}
private static String getCherryPickOriginalAuthor(Repository mergeRepository) {
- try {
+ try (RevWalk rw = new RevWalk(mergeRepository)) {
ObjectId cherryPickHead = mergeRepository.readCherryPickHead();
- PersonIdent author = new RevWalk(mergeRepository).parseCommit(
+ PersonIdent author = rw.parseCommit(
cherryPickHead).getAuthorIdent();
return author.getName() + " <" + author.getEmailAddress() + ">"; //$NON-NLS-1$//$NON-NLS-2$
} catch (IOException e) {
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitSelectionDialog.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitSelectionDialog.java
index 8eacdfb441..abbaadbfb2 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitSelectionDialog.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitSelectionDialog.java
@@ -205,12 +205,13 @@ public class CommitSelectionDialog extends FilteredItemsSelectionDialog {
else
commitId = repository.resolve(itemsFilter.getPattern());
if (commitId != null) {
- RevWalk walk = new RevWalk(repository);
- walk.setRetainBody(true);
- RevCommit commit = walk.parseCommit(commitId);
- contentProvider.add(
- new RepositoryCommit(repository, commit),
- itemsFilter);
+ try (RevWalk walk = new RevWalk(repository)) {
+ walk.setRetainBody(true);
+ RevCommit commit = walk.parseCommit(commitId);
+ contentProvider.add(
+ new RepositoryCommit(repository, commit),
+ itemsFilter);
+ }
}
} catch (RevisionSyntaxException ignored) {
// Ignore and advance
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefContentProposal.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefContentProposal.java
index 6422f7816b..d332d61006 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefContentProposal.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefContentProposal.java
@@ -132,15 +132,18 @@ public class RefContentProposal implements IContentProposal {
switch (loader.getType()) {
case Constants.OBJ_COMMIT:
- RevCommit c = new RevWalk(db).parseCommit(objectId);
- appendObjectSummary(sb, UIText.RefContentProposal_commit, c
- .getAuthorIdent(), c.getFullMessage());
+ try (RevWalk rw = new RevWalk(db)) {
+ RevCommit c = rw.parseCommit(objectId);
+ appendObjectSummary(sb, UIText.RefContentProposal_commit,
+ c.getAuthorIdent(), c.getFullMessage());
+ }
break;
case Constants.OBJ_TAG:
- RevWalk walk = new RevWalk(db);
- RevTag t = walk.parseTag(objectId);
- appendObjectSummary(sb, UIText.RefContentProposal_tag, t
- .getTaggerIdent(), t.getFullMessage());
+ try (RevWalk rw = new RevWalk(db)) {
+ RevTag t = rw.parseTag(objectId);
+ appendObjectSummary(sb, UIText.RefContentProposal_tag,
+ t.getTaggerIdent(), t.getFullMessage());
+ }
break;
case Constants.OBJ_TREE:
sb.append(UIText.RefContentProposal_tree);
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/ResetTargetSelectionDialog.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/ResetTargetSelectionDialog.java
index 39b034c7e7..11a5cdef5a 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/ResetTargetSelectionDialog.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/ResetTargetSelectionDialog.java
@@ -159,20 +159,26 @@ public class ResetTargetSelectionDialog extends AbstractBranchSelectionDialog {
}
parsedCommitish = text;
getButton(OK).setEnabled(true);
- RevWalk rw = new RevWalk(repo);
- RevCommit commit = rw.parseCommit(resolved);
- sha1.setText(AbbreviatedObjectId.fromObjectId(commit)
- .name());
- subject.setText(commit.getShortMessage());
- author.setText(commit.getAuthorIdent().getName()
- + " <" //$NON-NLS-1$
- + commit.getAuthorIdent().getEmailAddress()
- + "> " + gitDateFormatter.formatDate(commit.getAuthorIdent())); //$NON-NLS-1$
- committer.setText(commit.getCommitterIdent().getName()
- + " <" //$NON-NLS-1$
- + commit.getCommitterIdent().getEmailAddress()
- + "> " + gitDateFormatter.formatDate(commit.getCommitterIdent())); //$NON-NLS-1$
- rw.dispose();
+ try (RevWalk rw = new RevWalk(repo)) {
+ RevCommit commit = rw.parseCommit(resolved);
+ sha1.setText(AbbreviatedObjectId
+ .fromObjectId(commit).name());
+ subject.setText(commit.getShortMessage());
+ author.setText(
+ commit.getAuthorIdent().getName() + " <" //$NON-NLS-1$
+ + commit.getAuthorIdent()
+ .getEmailAddress()
+ + "> " //$NON-NLS-1$
+ + gitDateFormatter.formatDate(
+ commit.getAuthorIdent()));
+ committer.setText(commit.getCommitterIdent()
+ .getName()
+ + " <" //$NON-NLS-1$
+ + commit.getCommitterIdent()
+ .getEmailAddress()
+ + "> " + gitDateFormatter.formatDate( //$NON-NLS-1$
+ commit.getCommitterIdent()));
+ }
}
} catch (IOException e1) {
setMessage(e1.getMessage(), IMessageProvider.ERROR);
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java
index ca1ab058bd..efab8be754 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java
@@ -667,8 +667,10 @@ public class FetchGerritChangePage extends WizardPage {
new URIish(uri), specs, timeout, false).execute(monitor);
monitor.worked(1);
- return new RevWalk(repository).parseCommit(fetchRes.getAdvertisedRef(
- spec.getSource()).getObjectId());
+ try (RevWalk rw = new RevWalk(repository)) {
+ return rw.parseCommit(
+ fetchRes.getAdvertisedRef(spec.getSource()).getObjectId());
+ }
}
private void createTag(final RefSpec spec, final String textForTag,
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java
index 643ec6d971..b259d627be 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java
@@ -167,30 +167,33 @@ public class CommitInfoBuilder {
d.append(LF);
}
- try {
- List<Ref> branches = getBranches(commit, allRefs, db);
- if (!branches.isEmpty()) {
- d.append(UIText.CommitMessageViewer_branches);
- d.append(": "); //$NON-NLS-1$
- int count = 0;
- for (Iterator<Ref> i = branches.iterator(); i.hasNext();) {
- Ref head = i.next();
- RevCommit p;
- p = new RevWalk(db).parseCommit(head.getObjectId());
- addLink(d, formatHeadRef(head), styles, p);
- if (i.hasNext()) {
- if (count++ <= MAXBRANCHES) {
- d.append(", "); //$NON-NLS-1$
- } else {
- d.append(NLS.bind(UIText.CommitMessageViewer_MoreBranches, Integer.valueOf(branches.size() - MAXBRANCHES)));
- break;
+ if(Activator.getDefault().getPreferenceStore().getBoolean(
+ UIPreferences.HISTORY_SHOW_BRANCH_SEQUENCE)) {
+ try (RevWalk rw = new RevWalk(db)) {
+ List<Ref> branches = getBranches(commit, allRefs, db);
+ if (!branches.isEmpty()) {
+ d.append(UIText.CommitMessageViewer_branches);
+ d.append(": "); //$NON-NLS-1$
+ int count = 0;
+ for (Iterator<Ref> i = branches.iterator(); i.hasNext();) {
+ Ref head = i.next();
+ RevCommit p;
+ p = rw.parseCommit(head.getObjectId());
+ addLink(d, formatHeadRef(head), styles, p);
+ if (i.hasNext()) {
+ if (count++ <= MAXBRANCHES) {
+ d.append(", "); //$NON-NLS-1$
+ } else {
+ d.append(NLS.bind(UIText.CommitMessageViewer_MoreBranches, Integer.valueOf(branches.size() - MAXBRANCHES)));
+ break;
+ }
}
}
+ d.append(LF);
}
- d.append(LF);
+ } catch (IOException e) {
+ Activator.logError(e.getMessage(), e);
}
- } catch (IOException e) {
- Activator.logError(e.getMessage(), e);
}
String tagsString = getTagsString();
@@ -203,13 +206,13 @@ public class CommitInfoBuilder {
if (Activator.getDefault().getPreferenceStore().getBoolean(
UIPreferences.HISTORY_SHOW_TAG_SEQUENCE)) {
- try {
+ try (RevWalk rw = new RevWalk(db)) {
monitor.setTaskName(UIText.CommitMessageViewer_GettingPreviousTagTaskName);
Ref followingTag = getNextTag(false, monitor);
if (followingTag != null) {
d.append(UIText.CommitMessageViewer_follows);
d.append(": "); //$NON-NLS-1$
- RevCommit p = new RevWalk(db).parseCommit(followingTag
+ RevCommit p = rw.parseCommit(followingTag
.getObjectId());
addLink(d, formatTagRef(followingTag), styles, p);
d.append(LF);
@@ -218,13 +221,13 @@ public class CommitInfoBuilder {
Activator.logError(e.getMessage(), e);
}
- try {
+ try (RevWalk rw = new RevWalk(db)) {
monitor.setTaskName(UIText.CommitMessageViewer_GettingNextTagTaskName);
Ref precedingTag = getNextTag(true, monitor);
if (precedingTag != null) {
d.append(UIText.CommitMessageViewer_precedes);
d.append(": "); //$NON-NLS-1$
- RevCommit p = new RevWalk(db).parseCommit(precedingTag
+ RevCommit p = rw.parseCommit(precedingTag
.getObjectId());
addLink(d, formatTagRef(precedingTag), styles, p);
d.append(LF);
@@ -293,12 +296,9 @@ public class CommitInfoBuilder {
Collection<Ref> allRefs, Repository db)
throws MissingObjectException, IncorrectObjectTypeException,
IOException {
- RevWalk revWalk = new RevWalk(db);
- try {
+ try (RevWalk revWalk = new RevWalk(db)) {
revWalk.setRetainBody(false);
return RevWalkUtils.findBranchesReachableFrom(commit, revWalk, allRefs);
- } finally {
- revWalk.dispose();
}
}
@@ -372,43 +372,48 @@ public class CommitInfoBuilder {
throws IOException, OperationCanceledException {
if (monitor.isCanceled())
throw new OperationCanceledException();
- RevWalk revWalk = new RevWalk(db);
- revWalk.setRetainBody(false);
- Map<String, Ref> tagsMap = db.getTags();
- Ref tagRef = null;
-
- for (Ref ref : tagsMap.values()) {
- if (monitor.isCanceled())
- throw new OperationCanceledException();
- // both RevCommits must be allocated using same RevWalk instance,
- // otherwise isMergedInto returns wrong result!
- RevCommit current = revWalk.parseCommit(commit);
- // tags can point to any object, we only want tags pointing at
- // commits
- RevObject any = revWalk.peel(revWalk.parseAny(ref.getObjectId()));
- if (!(any instanceof RevCommit))
- continue;
- RevCommit newTag = (RevCommit) any;
- if (newTag.getId().equals(commit))
- continue;
-
- // check if newTag matches our criteria
- if (isMergedInto(revWalk, newTag, current, searchDescendant)) {
+ try (RevWalk revWalk = new RevWalk(db)) {
+ revWalk.setRetainBody(false);
+ Map<String, Ref> tagsMap = db.getTags();
+ Ref tagRef = null;
+
+ for (Ref ref : tagsMap.values()) {
if (monitor.isCanceled())
throw new OperationCanceledException();
- if (tagRef != null) {
- RevCommit oldTag = revWalk
- .parseCommit(tagRef.getObjectId());
-
- // both oldTag and newTag satisfy search criteria, so taking
- // the closest one
- if (isMergedInto(revWalk, oldTag, newTag, searchDescendant))
+ // both RevCommits must be allocated using same RevWalk
+ // instance,
+ // otherwise isMergedInto returns wrong result!
+ RevCommit current = revWalk.parseCommit(commit);
+ // tags can point to any object, we only want tags pointing at
+ // commits
+ RevObject any = revWalk
+ .peel(revWalk.parseAny(ref.getObjectId()));
+ if (!(any instanceof RevCommit))
+ continue;
+ RevCommit newTag = (RevCommit) any;
+ if (newTag.getId().equals(commit))
+ continue;
+
+ // check if newTag matches our criteria
+ if (isMergedInto(revWalk, newTag, current, searchDescendant)) {
+ if (monitor.isCanceled())
+ throw new OperationCanceledException();
+ if (tagRef != null) {
+ RevCommit oldTag = revWalk
+ .parseCommit(tagRef.getObjectId());
+
+ // both oldTag and newTag satisfy search criteria, so
+ // taking
+ // the closest one
+ if (isMergedInto(revWalk, oldTag, newTag,
+ searchDescendant))
+ tagRef = ref;
+ } else
tagRef = ref;
- } else
- tagRef = ref;
+ }
}
+ return tagRef;
}
- return tagRef;
}
/**
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java
index e71de4ab2c..de3769d81e 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java
@@ -108,6 +108,8 @@ class CommitMessageViewer extends SourceViewer {
private BooleanPrefAction showTagSequencePrefAction;
+ private BooleanPrefAction showBranchSequencePrefAction;
+
private BooleanPrefAction wrapCommentsPrefAction;
private BooleanPrefAction fillParagraphsPrefAction;
@@ -156,12 +158,15 @@ class CommitMessageViewer extends SourceViewer {
listener = new IPropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(
+ String property = event.getProperty();
+ if (property.equals(
UIPreferences.RESOURCEHISTORY_SHOW_COMMENT_FILL)) {
setFill(((Boolean) event.getNewValue()).booleanValue());
return;
}
- if (event.getProperty().equals(UIPreferences.HISTORY_SHOW_TAG_SEQUENCE)) {
+ if (property.equals(UIPreferences.HISTORY_SHOW_TAG_SEQUENCE)
+ || property.equals(
+ UIPreferences.HISTORY_SHOW_BRANCH_SEQUENCE)) {
format();
return;
}
@@ -224,6 +229,16 @@ class CommitMessageViewer extends SourceViewer {
IPersistentPreferenceStore pstore = (IPersistentPreferenceStore) store;
+ showBranchSequencePrefAction = new BooleanPrefAction(pstore,
+ UIPreferences.HISTORY_SHOW_BRANCH_SEQUENCE,
+ UIText.ResourceHistory_ShowBranchSequence) {
+ @Override
+ protected void apply(boolean value) {
+ // nothing, just toggle
+ }
+ };
+ mgr.add(showBranchSequencePrefAction);
+
showTagSequencePrefAction = new BooleanPrefAction(pstore,
UIPreferences.HISTORY_SHOW_TAG_SEQUENCE,
UIText.ResourceHistory_ShowTagSequence) {
@@ -288,6 +303,7 @@ class CommitMessageViewer extends SourceViewer {
if (refsChangedListener != null)
refsChangedListener.remove();
refsChangedListener = null;
+ showBranchSequencePrefAction.dispose();
showTagSequencePrefAction.dispose();
wrapCommentsPrefAction.dispose();
fillParagraphsPrefAction.dispose();
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java
index b4dad37980..4b4b880459 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java
@@ -256,6 +256,8 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
BooleanPrefAction showTagSequenceAction;
+ BooleanPrefAction showBranchSequenceAction;
+
BooleanPrefAction wrapCommentAction;
BooleanPrefAction fillCommentAction;
@@ -308,6 +310,7 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
createShowEmailAddressesAction();
createShowNotesAction();
createShowTagSequenceAction();
+ createShowBranchSequenceAction();
createWrapCommentAction();
createFillCommentAction();
createFollowRenamesAction();
@@ -519,6 +522,20 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
actionsToDispose.add(showTagSequenceAction);
}
+ private void createShowBranchSequenceAction() {
+ showBranchSequenceAction = new BooleanPrefAction(
+ UIPreferences.HISTORY_SHOW_BRANCH_SEQUENCE,
+ UIText.ResourceHistory_ShowBranchSequence) {
+ @Override
+ void apply(boolean value) {
+ // nothing, just set the Preference
+ }
+ };
+ showBranchSequenceAction
+ .apply(showBranchSequenceAction.isChecked());
+ actionsToDispose.add(showBranchSequenceAction);
+ }
+
private void createWrapCommentAction() {
wrapCommentAction = new BooleanPrefAction(
UIPreferences.RESOURCEHISTORY_SHOW_COMMENT_WRAP,
@@ -1110,6 +1127,7 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
IMenuManager showInMessageManager = new MenuManager(
UIText.GitHistoryPage_InRevisionCommentSubMenuLabel);
showSubMenuMgr.add(showInMessageManager);
+ showInMessageManager.add(actions.showBranchSequenceAction);
showInMessageManager.add(actions.showTagSequenceAction);
showInMessageManager.add(actions.wrapCommentAction);
showInMessageManager.add(actions.fillCommentAction);
@@ -1403,8 +1421,7 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
}
private void showHead(Repository repo) {
- RevWalk rw = new RevWalk(repo);
- try {
+ try (RevWalk rw = new RevWalk(repo)) {
ObjectId head = repo.resolve(Constants.HEAD);
if (head == null)
return;
@@ -1416,8 +1433,7 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
}
private void showRef(Ref ref, Repository repo) {
- RevWalk rw = new RevWalk(repo);
- try {
+ try (RevWalk rw = new RevWalk(repo)) {
RevCommit c = rw.parseCommit(ref.getLeaf().getObjectId());
graph.selectCommit(c);
} catch (IOException e) {
@@ -1426,8 +1442,7 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
}
private void showTag(Ref ref, Repository repo) {
- RevWalk rw = new RevWalk(repo);
- try {
+ try (RevWalk rw = new RevWalk(repo)) {
RevCommit c = null;
RevObject any = rw.parseAny(ref.getLeaf().getObjectId());
if (any instanceof RevCommit)
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/AbstractHistoryCommandHandler.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/AbstractHistoryCommandHandler.java
index 9866ca3bef..37e3fa663b 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/AbstractHistoryCommandHandler.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/AbstractHistoryCommandHandler.java
@@ -129,15 +129,16 @@ abstract class AbstractHistoryCommandHandler extends AbstractHandler {
Repository repo = getRepository(event);
Collection<Ref> revTags = repo.getTags().values();
List<RevTag> tags = new ArrayList<RevTag>();
- RevWalk walk = new RevWalk(repo);
- for (Ref ref : revTags) {
- try {
- tags.add(walk.parseTag(repo.resolve(ref.getName())));
- } catch (IOException e) {
- throw new ExecutionException(e.getMessage(), e);
+ try (RevWalk walk = new RevWalk(repo)) {
+ for (Ref ref : revTags) {
+ try {
+ tags.add(walk.parseTag(repo.resolve(ref.getName())));
+ } catch (IOException e) {
+ throw new ExecutionException(e.getMessage(), e);
+ }
}
+ return tags;
}
- return tags;
}
protected GitHistoryPage getPage() {
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CompareWithWorkingTreeHandler.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CompareWithWorkingTreeHandler.java
index 3819c7977b..352a0bc301 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CompareWithWorkingTreeHandler.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CompareWithWorkingTreeHandler.java
@@ -62,8 +62,8 @@ public class CompareWithWorkingTreeHandler extends
// TODO can we create a ITypedElement from the local file?
Repository repo = getRepository(event);
RevCommit leftCommit;
- try {
- leftCommit = new RevWalk(repo).parseCommit(repo
+ try (RevWalk rw = new RevWalk(repo)) {
+ leftCommit = rw.parseCommit(repo
.resolve(Constants.HEAD));
} catch (Exception e) {
throw new ExecutionException(e.getMessage(), e);
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/ShowVersionsHandler.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/ShowVersionsHandler.java
index 36847097a5..af4b2254ac 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/ShowVersionsHandler.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/ShowVersionsHandler.java
@@ -129,10 +129,10 @@ public class ShowVersionsHandler extends AbstractHistoryCommandHandler {
}
if (rev != null) {
if (compareMode)
- try {
+ try (RevWalk rw = new RevWalk(repo)) {
ITypedElement left = CompareUtils
.getFileRevisionTypedElement(gitPath,
- new RevWalk(repo).parseCommit(repo
+ rw.parseCommit(repo
.resolve(Constants.HEAD)),
repo);
ITypedElement right = CompareUtils
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitCompareEditorInput.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitCompareEditorInput.java
index e6fd6a107c..be171b86e9 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitCompareEditorInput.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitCompareEditorInput.java
@@ -113,15 +113,14 @@ public class GitCompareEditorInput extends CompareEditorInput {
protected Object prepareInput(IProgressMonitor monitor)
throws InvocationTargetException, InterruptedException {
// make sure all resources belong to the same repository
- RevWalk rw = null;
- try {
+ try (RevWalk rw = new RevWalk(repository)) {
monitor.beginTask(
UIText.GitCompareEditorInput_CompareResourcesTaskName,
IProgressMonitor.UNKNOWN);
for (IResource resource : resources) {
- RepositoryMapping map = RepositoryMapping.getMapping(resource
- .getProject());
+ RepositoryMapping map = RepositoryMapping
+ .getMapping(resource.getProject());
if (repository != null && repository != map.getRepository())
throw new InvocationTargetException(
new IllegalStateException(
@@ -134,80 +133,81 @@ public class GitCompareEditorInput extends CompareEditorInput {
return FOLDER_IMAGE;
}
};
- diffRoots
- .put(new Path(map.getRepoRelativePath(resource)), node);
+ diffRoots.put(new Path(map.getRepoRelativePath(resource)),
+ node);
repository = map.getRepository();
}
if (repository == null)
- throw new InvocationTargetException(
- new IllegalStateException(
- UIText.GitCompareEditorInput_ResourcesInDifferentReposMessagge));
+ throw new InvocationTargetException(new IllegalStateException(
+ UIText.GitCompareEditorInput_ResourcesInDifferentReposMessagge));
if (monitor.isCanceled())
throw new InterruptedException();
- rw = new RevWalk(repository);
-
final RevCommit baseCommit;
try {
- baseCommit = rw.parseCommit(repository.resolve(baseVersion));
- } catch (IOException e) {
- throw new InvocationTargetException(e);
- }
-
- final RevCommit compareCommit;
- if (compareVersion == null)
- compareCommit = null;
- else
try {
- compareCommit = rw.parseCommit(repository
- .resolve(compareVersion));
+ baseCommit = rw
+ .parseCommit(repository.resolve(baseVersion));
} catch (IOException e) {
throw new InvocationTargetException(e);
}
- if (monitor.isCanceled())
- throw new InterruptedException();
+ final RevCommit compareCommit;
+ if (compareVersion == null) {
+ compareCommit = null;
+ } else {
+ try {
+ compareCommit = rw.parseCommit(
+ repository.resolve(compareVersion));
+ } catch (IOException e) {
+ throw new InvocationTargetException(e);
+ }
+ }
+ if (monitor.isCanceled())
+ throw new InterruptedException();
- // set the labels
- CompareConfiguration config = getCompareConfiguration();
- config.setLeftLabel(compareVersion);
- config.setRightLabel(baseVersion);
- // set title and icon
- if (resources.length == 0) {
- Object[] titleParameters = new Object[] {
- Activator.getDefault().getRepositoryUtil()
- .getRepositoryName(repository),
- CompareUtils.truncatedRevision(compareVersion),
- CompareUtils.truncatedRevision(baseVersion) };
- setTitle(NLS.bind(UIText.GitCompareEditorInput_EditorTitle,
- titleParameters));
- } else if (resources.length == 1) {
- Object[] titleParameters = new Object[] {
- resources[0].getFullPath().makeRelative().toString(),
- CompareUtils.truncatedRevision(compareVersion),
- CompareUtils.truncatedRevision(baseVersion) };
- setTitle(NLS.bind(
- UIText.GitCompareEditorInput_EditorTitleSingleResource,
- titleParameters));
- } else
- setTitle(NLS
- .bind(
- UIText.GitCompareEditorInput_EditorTitleMultipleResources,
- CompareUtils.truncatedRevision(compareVersion),
- CompareUtils.truncatedRevision(baseVersion)));
+ // set the labels
+ CompareConfiguration config = getCompareConfiguration();
+ config.setLeftLabel(compareVersion);
+ config.setRightLabel(baseVersion);
+ // set title and icon
+ if (resources.length == 0) {
+ Object[] titleParameters = new Object[] {
+ Activator.getDefault().getRepositoryUtil()
+ .getRepositoryName(repository),
+ CompareUtils.truncatedRevision(compareVersion),
+ CompareUtils.truncatedRevision(baseVersion) };
+ setTitle(NLS.bind(UIText.GitCompareEditorInput_EditorTitle,
+ titleParameters));
+ } else if (resources.length == 1) {
+ Object[] titleParameters = new Object[] {
+ resources[0].getFullPath().makeRelative()
+ .toString(),
+ CompareUtils.truncatedRevision(compareVersion),
+ CompareUtils.truncatedRevision(baseVersion) };
+ setTitle(NLS.bind(
+ UIText.GitCompareEditorInput_EditorTitleSingleResource,
+ titleParameters));
+ } else {
+ setTitle(NLS
+ .bind(UIText.GitCompareEditorInput_EditorTitleMultipleResources,
+ CompareUtils.truncatedRevision(
+ compareVersion),
+ CompareUtils.truncatedRevision(baseVersion)));
+ }
- // build the nodes
- try {
- return buildDiffContainer(baseCommit, compareCommit, monitor);
- } catch (IOException e) {
- throw new InvocationTargetException(e);
+ // build the nodes
+ try {
+ return buildDiffContainer(baseCommit, compareCommit,
+ monitor);
+ } catch (IOException e) {
+ throw new InvocationTargetException(e);
+ }
+ } finally {
+ monitor.done();
}
- } finally {
- if (rw != null)
- rw.dispose();
- monitor.done();
}
}
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/MergeResultDialog.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/MergeResultDialog.java
index c893795fd7..dbc78c6b70 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/MergeResultDialog.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/MergeResultDialog.java
@@ -298,24 +298,25 @@ public class MergeResultDialog extends Dialog {
private RepositoryCommit[] getCommits(final ObjectId[] merges) {
final List<RepositoryCommit> commits = new ArrayList<RepositoryCommit>();
- final RevWalk walk = new RevWalk(objectReader);
- walk.setRetainBody(true);
- for (ObjectId merge : merges)
- try {
- commits.add(new RepositoryCommit(repository, walk
- .parseCommit(merge)));
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(
- UIText.MergeResultDialog_couldNotFindCommit,
- merge.name()), e);
- }
- return commits.toArray(new RepositoryCommit[commits.size()]);
+ try (final RevWalk walk = new RevWalk(objectReader)) {
+ walk.setRetainBody(true);
+ for (ObjectId merge : merges)
+ try {
+ commits.add(new RepositoryCommit(repository,
+ walk.parseCommit(merge)));
+ } catch (IOException e) {
+ Activator.logError(MessageFormat.format(
+ UIText.MergeResultDialog_couldNotFindCommit,
+ merge.name()), e);
+ }
+ return commits.toArray(new RepositoryCommit[commits.size()]);
+ }
}
private String getCommitMessage(ObjectId id) {
RevCommit commit;
- try {
- commit = new RevWalk(objectReader).parseCommit(id);
+ try (RevWalk rw = new RevWalk(objectReader)) {
+ commit = rw.parseCommit(id);
} catch (IOException e) {
Activator.logError(UIText.MergeResultDialog_couldNotFindCommit, e);
return UIText.MergeResultDialog_couldNotFindCommit;
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/ConfigurationEditorComponent.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/ConfigurationEditorComponent.java
index e5ac409de6..39e8a81cc1 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/ConfigurationEditorComponent.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/ConfigurationEditorComponent.java
@@ -23,9 +23,6 @@ import java.util.StringTokenizer;
import org.eclipse.core.filesystem.EFS;
import org.eclipse.core.filesystem.IFileStore;
import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.egit.core.GitCorePreferences;
import org.eclipse.egit.ui.Activator;
import org.eclipse.egit.ui.internal.UIText;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -52,7 +49,6 @@ import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.storage.file.FileBasedConfig;
-import org.eclipse.jgit.util.FS;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
@@ -64,7 +60,6 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
@@ -112,8 +107,6 @@ public class ConfigurationEditorComponent {
private Text location;
- private final boolean changeablePath;
-
private boolean editable;
/**
@@ -123,16 +116,13 @@ public class ConfigurationEditorComponent {
* to be used instead of the user configuration
* @param useDialogFont
* if <code>true</code>, the current dialog font is used
- * @param changeablePath
- * The user can change the path of the configuration file
*/
public ConfigurationEditorComponent(Composite parent, StoredConfig config,
- boolean useDialogFont, boolean changeablePath) {
+ boolean useDialogFont) {
editableConfig = config;
this.shellProvider = new SameShellProvider(parent);
this.parent = parent;
this.useDialogFont = useDialogFont;
- this.changeablePath = changeablePath;
}
void setConfig(FileBasedConfig config) throws IOException {
@@ -163,26 +153,6 @@ public class ConfigurationEditorComponent {
* @throws IOException
*/
public void restore() throws IOException {
- if (changeablePath) {
- try {
- IEclipsePreferences node = InstanceScope.INSTANCE
- .getNode(org.eclipse.egit.core.Activator.getPluginId());
- node.remove(GitCorePreferences.core_gitPrefix);
- node.flush();
- // Create a temporary FS instance to compute the Git prefix
- File gitPrefix = FS.detect().gitPrefix();
- // Update THE FS instance.
- // TODO: This works today when there is only one FS
- // instance, but much of the JGit code is actually
- // written to work if there are multiple instances.
- FS.DETECTED.setGitPrefix(gitPrefix);
- } catch (Exception e1) {
- Activator
- .logError(
- UIText.ConfigurationEditorComponent_CannotChangeGitPrefixError,
- e1);
- }
- }
try {
editableConfig.clear();
editableConfig.load();
@@ -213,52 +183,6 @@ public class ConfigurationEditorComponent {
location = new Text(locationPanel, locationStyle);
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER)
.grab(true, false).applyTo(location);
- if (changeablePath) {
- Button selectPath = new Button(locationPanel, SWT.PUSH);
- selectPath
- .setText(UIText.ConfigurationEditorComponent_BrowseForPrefix);
- selectPath.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- DirectoryDialog dialog = new DirectoryDialog(
- getShell(), SWT.OPEN);
- dialog.setText(UIText.ConfigurationEditorComponent_SelectGitInstallation);
- String file = dialog.open();
- if (file != null) {
- File etc = new File(file, "etc"); //$NON-NLS-1$
- File bin = new File(file, "bin"); //$NON-NLS-1$
- if (!new File(etc, "gitconfig").exists() //$NON-NLS-1$
- && !new File(bin, "git").exists() //$NON-NLS-1$
- && (!System
- .getProperty("os.name").startsWith("Windows") || //$NON-NLS-1$ //$NON-NLS-2$
- !new File(bin, "git.exe").exists())) { //$NON-NLS-1$
- MessageDialog
- .open(SWT.ERROR,
- getShell(),
- UIText.ConfigurationEditorComponent_GitPrefixSelectionErrorTitle,
- UIText.ConfigurationEditorComponent_GitPrefixSelectionErrorMessage,
- SWT.NONE);
- return;
- }
- location.setText(file);
- try {
- IEclipsePreferences node = InstanceScope.INSTANCE
- .getNode(org.eclipse.egit.core.Activator
- .getPluginId());
- node.put(GitCorePreferences.core_gitPrefix,
- file);
- node.flush();
- setChangeSystemPrefix(file);
- } catch (Exception e1) {
- Activator
- .logError(
- UIText.ConfigurationEditorComponent_CannotChangeGitPrefixError,
- e1);
- }
- }
- }
- });
- }
Button openEditor = new Button(locationPanel, SWT.PUSH);
openEditor
.setText(UIText.ConfigurationEditorComponent_OpenEditorButton);
@@ -570,15 +494,6 @@ public class ConfigurationEditorComponent {
// the default implementation does nothing
}
- /**
- * @param prefix
- * new System prefix
- * @throws IOException
- */
- protected void setChangeSystemPrefix(String prefix) throws IOException {
- // the default implementation does nothing
- }
-
private void updateEnablement() {
remove.setEnabled(editable);
newValue.setEnabled(editable);
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/DialogsPreferencePage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/DialogsPreferencePage.java
index 4d3dd1bed6..0215edcbaf 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/DialogsPreferencePage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/DialogsPreferencePage.java
@@ -90,8 +90,6 @@ public class DialogsPreferencePage extends FieldEditorPreferencePage implements
.applyTo(warningsGroup);
addField(new BooleanFieldEditor(UIPreferences.SHOW_HOME_DIR_WARNING,
UIText.DialogsPreferencePage_HomeDirWarning, warningsGroup));
- addField(new BooleanFieldEditor(UIPreferences.SHOW_GIT_PREFIX_WARNING,
- UIText.DialogsPreferencePage_GitPrefixWarning, warningsGroup));
updateMargins(warningsGroup);
}
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GlobalConfigurationPreferencePage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GlobalConfigurationPreferencePage.java
index a28e896f67..ae55187e4a 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GlobalConfigurationPreferencePage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GlobalConfigurationPreferencePage.java
@@ -89,7 +89,7 @@ public class GlobalConfigurationPreferencePage extends PreferencePage implements
SWTUtils.MARGINS_NONE);
TabFolder tabFolder = new TabFolder(composite, SWT.NONE);
tabFolder.setLayoutData(SWTUtils.createHVFillGridData());
- userConfigEditor = new ConfigurationEditorComponent(tabFolder, userConfig, true, false) {
+ userConfigEditor = new ConfigurationEditorComponent(tabFolder, userConfig, true) {
@Override
protected void setErrorMessage(String message) {
GlobalConfigurationPreferencePage.this.setErrorMessage(message);
@@ -101,7 +101,7 @@ public class GlobalConfigurationPreferencePage extends PreferencePage implements
updateApplyButton();
}
};
- sysConfigEditor = new ConfigurationEditorComponent(tabFolder, sysConfig, true, true) {
+ sysConfigEditor = new ConfigurationEditorComponent(tabFolder, sysConfig, true) {
@Override
protected void setErrorMessage(String message) {
GlobalConfigurationPreferencePage.this.setErrorMessage(message);
@@ -112,14 +112,6 @@ public class GlobalConfigurationPreferencePage extends PreferencePage implements
sysIsDirty = dirty;
updateApplyButton();
}
- @Override
- protected void setChangeSystemPrefix(String prefix) throws IOException {
- FS.DETECTED.setGitPrefix(new File(prefix));
- sysConfig = SystemReader.getInstance().openSystemConfig(null,
- FS.DETECTED);
- setConfig(sysConfig);
- }
-
};
Control result = userConfigEditor.createContents();
Dialog.applyDialogFont(result);
@@ -315,7 +307,8 @@ public class GlobalConfigurationPreferencePage extends PreferencePage implements
} else {
repositoryConfig = repository.getConfig();
}
- ConfigurationEditorComponent editorComponent = new ConfigurationEditorComponent(repoConfigComposite, repositoryConfig, true, false) {
+ ConfigurationEditorComponent editorComponent = new ConfigurationEditorComponent(
+ repoConfigComposite, repositoryConfig, true) {
@Override
protected void setErrorMessage(String message) {
GlobalConfigurationPreferencePage.this.setErrorMessage(message);
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/HistoryPreferencePage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/HistoryPreferencePage.java
index 2e699d5abe..1ff0e12021 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/HistoryPreferencePage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/HistoryPreferencePage.java
@@ -101,6 +101,9 @@ public class HistoryPreferencePage extends FieldEditorPreferencePage implements
.applyTo(commentGroup);
commentGroup.setText(UIText.HistoryPreferencePage_ShowInRevCommentGroupLabel);
addField(new BooleanFieldEditor(
+ UIPreferences.HISTORY_SHOW_BRANCH_SEQUENCE,
+ UIText.ResourceHistory_ShowBranchSequence, commentGroup));
+ addField(new BooleanFieldEditor(
UIPreferences.HISTORY_SHOW_TAG_SEQUENCE,
UIText.ResourceHistory_ShowTagSequence, commentGroup));
addField(new BooleanFieldEditor(
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushBranchPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushBranchPage.java
index b294adfbf2..8cce15cf8b 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushBranchPage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushBranchPage.java
@@ -219,12 +219,11 @@ public class PushBranchPage extends WizardPage {
commitIcon.getBounds().height));
Label commit = new Label(sourceComposite, SWT.NONE);
- RevWalk revWalk = new RevWalk(repository);
StringBuilder commitBuilder = new StringBuilder(this.commitToPush
.abbreviate(7).name());
StringBuilder commitTooltipBuilder = new StringBuilder(
this.commitToPush.getName());
- try {
+ try (RevWalk revWalk = new RevWalk(repository)) {
RevCommit revCommit = revWalk.parseCommit(this.commitToPush);
commitBuilder.append(" "); //$NON-NLS-1$
commitBuilder.append(Utils.shortenText(revCommit.getShortMessage(),
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/RefUpdateElement.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/RefUpdateElement.java
index 8daab02fa4..130f7f0eb4 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/RefUpdateElement.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/RefUpdateElement.java
@@ -167,8 +167,7 @@ class RefUpdateElement extends WorkbenchAdapter {
}
private RepositoryCommit[] getCommits(Ref end) {
- final RevWalk walk = new RevWalk(reader);
- try {
+ try (final RevWalk walk = new RevWalk(reader)) {
walk.setRetainBody(true);
walk.markStart(walk.parseCommit(update.getNewObjectId()));
walk.markUninteresting(walk.parseCommit(end.getObjectId()));
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchWizard.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchWizard.java
index 35c42fc48d..83ce84e9b0 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchWizard.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchWizard.java
@@ -49,11 +49,11 @@ public class CreateBranchWizard extends Wizard {
* a {@link Ref} name or {@link RevCommit} id, or null
*/
public CreateBranchWizard(Repository repository, String base) {
- try {
+ try (RevWalk rw = new RevWalk(repository)) {
if (base == null) {
myPage = new CreateBranchPage(repository, (Ref) null);
} else if (ObjectId.isId(base)) {
- RevCommit commit = new RevWalk(repository).parseCommit(ObjectId
+ RevCommit commit = rw.parseCommit(ObjectId
.fromString(base));
myPage = new CreateBranchPage(repository, commit);
} else {
@@ -64,8 +64,8 @@ public class CreateBranchWizard extends Wizard {
myPage = new CreateBranchPage(repository, currentBranch);
} else {
// the page only knows some special Refs
- RevCommit commit = new RevWalk(repository)
- .parseCommit(repository.resolve(base + "^{commit}")); //$NON-NLS-1$
+ RevCommit commit = rw.parseCommit(
+ repository.resolve(base + "^{commit}")); //$NON-NLS-1$
myPage = new CreateBranchPage(repository, commit);
}
}
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertyPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertyPage.java
index 9f88c9ab90..4af20a850a 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertyPage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertyPage.java
@@ -57,7 +57,7 @@ public class RepositoryPropertyPage extends PropertyPage {
}
});
}
- editor = new ConfigurationEditorComponent(displayArea, config, true, false) {
+ editor = new ConfigurationEditorComponent(displayArea, config, true) {
@Override
protected void setErrorMessage(String message) {
RepositoryPropertyPage.this.setErrorMessage(message);
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertySource.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertySource.java
index 2136cdaada..92ebb4711f 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertySource.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertySource.java
@@ -507,7 +507,7 @@ public class RepositoryPropertySource implements IPropertySource {
Composite main = (Composite) super.createDialogArea(parent);
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true,
true).applyTo(main);
- editor = new ConfigurationEditorComponent(main, myConfig, true, false) {
+ editor = new ConfigurationEditorComponent(main, myConfig, true) {
@Override
protected void setErrorMessage(String message) {
EditDialog.this.setErrorMessage(message);
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/CreateBranchCommand.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/CreateBranchCommand.java
index cbc7fc337f..171089f1bb 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/CreateBranchCommand.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/CreateBranchCommand.java
@@ -40,8 +40,8 @@ public class CreateBranchCommand extends
if (node.getType() == RepositoryTreeNodeType.ADDITIONALREF) {
Ref ref = (Ref) node.getObject();
- try {
- RevCommit baseCommit = new RevWalk(node.getRepository())
+ try (RevWalk rw = new RevWalk(node.getRepository())) {
+ RevCommit baseCommit = rw
.parseCommit(ref.getLeaf().getObjectId());
WizardDialog dlg = new WizardDialog(
getShell(event),
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
index 01b53a7e35..ce346a0cfe 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
@@ -274,21 +274,24 @@ public class RemoveCommand extends
private boolean isTracked(File file, Repository repo) throws IOException {
ObjectId objectId = repo.resolve(Constants.HEAD);
RevTree tree;
- if (objectId != null)
- tree = new RevWalk(repo).parseTree(objectId);
- else
- tree = null;
+ try (RevWalk rw = new RevWalk(repo);
+ TreeWalk treeWalk = new TreeWalk(repo)) {
+ if (objectId != null)
+ tree = rw.parseTree(objectId);
+ else
+ tree = null;
- TreeWalk treeWalk = new TreeWalk(repo);
- treeWalk.setRecursive(true);
- if (tree != null)
- treeWalk.addTree(tree);
- else
- treeWalk.addTree(new EmptyTreeIterator());
- treeWalk.addTree(new DirCacheIterator(repo.readDirCache()));
- treeWalk.setFilter(PathFilterGroup.createFromStrings(Collections.singleton(
- Repository.stripWorkDir(repo.getWorkTree(), file))));
- return treeWalk.next();
+ treeWalk.setRecursive(true);
+ if (tree != null)
+ treeWalk.addTree(tree);
+ else
+ treeWalk.addTree(new EmptyTreeIterator());
+ treeWalk.addTree(new DirCacheIterator(repo.readDirCache()));
+ treeWalk.setFilter(PathFilterGroup
+ .createFromStrings(Collections.singleton(Repository
+ .stripWorkDir(repo.getWorkTree(), file))));
+ return treeWalk.next();
+ }
}
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java
index 4ff7eae2c6..5b61ebeaa6 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java
@@ -198,8 +198,7 @@ public class CommitSearchQuery implements ISearchQuery {
private void walkRepository(Repository repository, Pattern pattern,
IProgressMonitor monitor) throws IOException {
- RevWalk walk = new RevWalk(repository);
- try {
+ try (RevWalk walk = new RevWalk(repository)) {
walk.setRetainBody(true);
List<RevCommit> commits = new LinkedList<RevCommit>();
if (this.settings.isAllBranches()) {
@@ -230,8 +229,6 @@ public class CommitSearchQuery implements ISearchQuery {
}
}
}
- } finally {
- walk.dispose();
}
}
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/sharing/ExistingOrNewPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/sharing/ExistingOrNewPage.java
index 1c9baf93f2..f7845da00a 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/sharing/ExistingOrNewPage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/sharing/ExistingOrNewPage.java
@@ -535,17 +535,17 @@ class ExistingOrNewPage extends WizardPage {
ObjectId headCommitId = repo.resolve(Constants.HEAD);
if (headCommitId != null) {
// Not an empty repo
- RevWalk revWalk = new RevWalk(repo);
- RevCommit headCommit = revWalk
- .parseCommit(headCommitId);
- RevTree headTree = headCommit.getTree();
- TreeWalk projectInRepo = TreeWalk.forPath(repo,
- repoRelativePath, headTree);
- if (projectInRepo != null) {
- // the .project file is tracked by this repo
- treeItem.setChecked(true);
+ try (RevWalk revWalk = new RevWalk(repo)) {
+ RevCommit headCommit = revWalk
+ .parseCommit(headCommitId);
+ RevTree headTree = headCommit.getTree();
+ TreeWalk projectInRepo = TreeWalk.forPath(repo,
+ repoRelativePath, headTree);
+ if (projectInRepo != null) {
+ // the .project file is tracked by this repo
+ treeItem.setChecked(true);
+ }
}
- revWalk.dispose();
}
}
repo.close();
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlob.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlob.java
index 9ddd23920c..80487b87d8 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlob.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlob.java
@@ -247,11 +247,10 @@ public class GitModelBlob extends GitModelObject implements
ComparisonDataSource baseData;
ComparisonDataSource remoteData;
- RevWalk rw = new RevWalk(repo);
- rw.setRetainBody(true);
RevCommit baseCommit = null;
RevCommit remoteCommit = null;
- try {
+ try (RevWalk rw = new RevWalk(repo)) {
+ rw.setRetainBody(true);
if (change.getCommitId() != null)
baseCommit = rw.parseCommit(change.getCommitId().toObjectId());
if (change.getRemoteCommitId() != null)
@@ -259,8 +258,6 @@ public class GitModelBlob extends GitModelObject implements
.toObjectId());
} catch (IOException e) {
Activator.logError(e.getMessage(), e);
- } finally {
- rw.dispose();
}
if (baseCommit == null && remoteCommit != null)
baseCommit = remoteCommit; // prevent from NPE for deleted files
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties
index 2dd37727ea..d83482643c 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties
@@ -664,7 +664,8 @@ ResetTargetSelectionDialog_SubjectLabel=Subject:
ResetTargetSelectionDialog_UnresolvableExpressionError=Unresolvable expression
ResetTargetSelectionDialog_WindowTitle=Reset
ResourceHistory_MaxNumCommitsInList=Maximum number of commits to &show:
-ResourceHistory_ShowTagSequence=&Tag sequence
+ResourceHistory_ShowBranchSequence=&Branch Sequence
+ResourceHistory_ShowTagSequence=&Tag Sequence
ResourceHistory_toggleRelativeDate=Relative &Dates
ResourceHistory_toggleShowNotes=&Notes History
ResourceHistory_toggleCommentWrap=&Wrap Comments
@@ -1225,7 +1226,6 @@ DialogsPreferencePage_DetachedHeadCombo=D&etached HEAD and checkout of remote-tr
DialogsPreferencePage_HideConfirmationGroupHeader=Show confirmation dialogs
DialogsPreferencePage_HideWarningGroupHeader=Log warnings
DialogsPreferencePage_HomeDirWarning=&Home directory warning (Windows only)
-DialogsPreferencePage_GitPrefixWarning=&Git prefix warning (Windows typically)
DialogsPreferencePage_RebaseCheckbox=&Rebase confirmation
DialogsPreferencePage_RunningLaunchOnCheckout=Warn about running launches when switching branches
DialogsPreferencePage_ShowInitialConfigCheckbox=&Initial configuration
@@ -1317,13 +1317,6 @@ GitSelectWizardPage_ImportAsGeneralButton=Import as &general project
GitSelectWizardPage_ImportExistingButton=Import &existing Eclipse projects
GitSelectWizardPage_ProjectCreationHeader=Wizard for project import
GitSelectWizardPage_UseNewProjectsWizardButton=Import using the New &Project wizard
-ConfigurationChecker_gitPrefixWarningMessage=\
-Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level\n\
-Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.\n\
-The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in\n\
-this system level configuration. The Git installation location can be configured on the\n\
-Team > Git > Configuration preference page's 'System Settings' tab.\n\
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
ConfigurationChecker_checkConfiguration=Check Configuration
ConfigurationChecker_homeNotSet=\
Warning: The environment variable HOME is not set. The following directory will be used to store the Git\n\
@@ -1331,8 +1324,6 @@ user global configuration and to define the default location to store repositori
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and\n\
EGit might behave differently since they see different configuration options.\n\
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
-ConfigurationEditorComponent_BrowseForPrefix=&Browse...
-ConfigurationEditorComponent_CannotChangeGitPrefixError=Cannot change Git prefix
ConfigurationEditorComponent_ConfigLocationLabel=&Location:
ConfigurationEditorComponent_EmptyStringNotAllowed=Empty string is not allowed
ConfigurationEditorComponent_KeyColumnHeader=Key
@@ -1344,8 +1335,6 @@ ConfigurationEditorComponent_OpenEditorTooltip=Open a text editor for this confi
ConfigurationEditorComponent_ReadOnlyLocationFormat={0} (non-writable)
ConfigurationEditorComponent_RemoveButton=&Remove
ConfigurationEditorComponent_RemoveTooltip=Removes the selected entry or all entries in the selected section or subsection
-ConfigurationEditorComponent_GitPrefixSelectionErrorMessage=This directory does not look like a Git installation directory.\nYou do not need this setting unless you have a system wide configuration file.
-ConfigurationEditorComponent_GitPrefixSelectionErrorTitle=Git Prefix Selection
ConfigurationEditorComponent_RemoveSectionMessage=All entries in section ''{0}'' will be removed.\n\nDo you want to continue?
ConfigurationEditorComponent_RemoveSectionTitle=Remove Section
ConfigurationEditorComponent_RemoveSubsectionMessage=All entries in subsection ''{0}'' will be removed.\n\nDo you want to continue?
diff --git a/pom.xml b/pom.xml
index 97e882ca56..d4c4078bc3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -513,7 +513,7 @@
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-jarsigner-plugin</artifactId>
- <version>1.1.2-SNAPSHOT</version>
+ <version>1.1.2</version>
</plugin>
</plugins>
</pluginManagement>

Back to the top