Merge branch stable-2.11
* stable-2.11:
Adapt to the JGit v4.5.x
Change-Id: I9bca8da402097e8f54e477113299abb96c18c773
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java
index 6c2f16d..72c9ec9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java
@@ -92,16 +92,16 @@
@Inject
CreateReviewNotes(@GerritPersonIdent final PersonIdent gerritIdent,
final AccountCache accountCache,
- final @AnonymousCowardName String anonymousCowardName,
+ @AnonymousCowardName final String anonymousCowardName,
final ProjectCache projectCache,
final ApprovalsUtil approvalsUtil,
final ChangeControl.GenericFactory changeControlFactory,
final IdentifiedUser.GenericFactory userFactory,
final NotesBranchUtil.Factory notesBranchUtilFactory,
- final @Nullable @CanonicalWebUrl String canonicalWebUrl,
- final @Assisted ReviewDb reviewDb,
- final @Assisted Project.NameKey project,
- final @Assisted Repository git) {
+ @Nullable @CanonicalWebUrl final String canonicalWebUrl,
+ @Assisted final ReviewDb reviewDb,
+ @Assisted final Project.NameKey project,
+ @Assisted final Repository git) {
this.gerritServerIdent = gerritIdent;
this.accountCache = accountCache;
this.anonymousCowardName = anonymousCowardName;
@@ -129,25 +129,24 @@
return;
}
- RevWalk rw = new RevWalk(git);
- try {
- RevCommit n = rw.parseCommit(newObjectId);
- rw.markStart(n);
- if (n.getParentCount() == 1 && n.getParent(0).equals(oldObjectId)) {
- rw.markUninteresting(rw.parseCommit(oldObjectId));
- } else {
- markUninteresting(git, branch, rw, oldObjectId);
+ try (RevWalk rw = new RevWalk(git)) {
+ try {
+ RevCommit n = rw.parseCommit(newObjectId);
+ rw.markStart(n);
+ if (n.getParentCount() == 1 && n.getParent(0).equals(oldObjectId)) {
+ rw.markUninteresting(rw.parseCommit(oldObjectId));
+ } else {
+ markUninteresting(git, branch, rw, oldObjectId);
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ return;
}
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- return;
- }
- if (monitor == null) {
- monitor = NullProgressMonitor.INSTANCE;
- }
+ if (monitor == null) {
+ monitor = NullProgressMonitor.INSTANCE;
+ }
- try {
for (RevCommit c : rw) {
ObjectId content = createNoteContent(loadPatchSet(c, branch));
if (content != null) {
@@ -156,8 +155,6 @@
getMessage().append("* ").append(c.getShortMessage()).append("\n");
}
}
- } finally {
- rw.close();
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
index 379f923..2b1968c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
@@ -76,17 +76,11 @@
}
private List<Change> allChanges() {
- ReviewDb db = null;
- try {
- db = database.open();
+ try (ReviewDb db = database.open()){
return db.changes().all().toList();
} catch (OrmException e) {
- stderr.print("Cannot read changes from database " + e.getMessage());
+ stderr.println("Cannot read changes from database " + e.getMessage());
return Collections.emptyList();
- } finally {
- if (db != null) {
- db.close();
- }
}
}
@@ -109,20 +103,14 @@
private void export(ReviewDb db, Project.NameKey project, List<Change> changes)
throws IOException, OrmException {
- final Repository git;
- try {
- git = gitManager.openRepository(project);
- } catch (RepositoryNotFoundException e) {
- return;
- }
- try {
+ try (Repository git = gitManager.openRepository(project)) {
CreateReviewNotes crn = reviewNotesFactory.create(db, project, git);
crn.createNotes(changes, monitor);
crn.commitNotes();
+ } catch (RepositoryNotFoundException e) {
+ stderr.println("Unable to open project: " + project.get());
} catch (ConcurrentRefUpdateException e) {
- stderr.print(e.getMessage());
- } finally {
- git.close();
+ stderr.println(e.getMessage());
}
}
@@ -156,29 +144,23 @@
private class Worker extends Thread {
@Override
public void run() {
- ReviewDb db;
- try {
- db = database.open();
- } catch (OrmException e) {
- stderr.print(e.getMessage());
- return;
- }
- try {
+ try (ReviewDb db = database.open()){
for (;;) {
Entry<Project.NameKey, List<Change>> next = next();
if (next != null) {
try {
export(db, next.getKey(), next.getValue());
} catch (OrmException | IOException e) {
- stderr.print(e.getMessage());
+ stderr.println(e.getMessage());
}
} else {
break;
}
}
+ } catch (OrmException e) {
+ stderr.println(e.getMessage());
} finally {
monitor.endWorker();
- db.close();
}
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/RefUpdateListener.java b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/RefUpdateListener.java
index c839c31..d798648 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/RefUpdateListener.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/RefUpdateListener.java
@@ -26,7 +26,6 @@
import com.google.inject.Inject;
import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException;
-import org.eclipse.jgit.errors.RepositoryNotFoundException;
import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
@@ -95,50 +94,19 @@
private void createReviewNotes(Event e) {
Project.NameKey projectName = new Project.NameKey(e.getProjectName());
- Repository git;
- try {
- git = repoManager.openRepository(projectName);
- } catch (RepositoryNotFoundException x) {
- log.error(x.getMessage(), x);
- return;
- } catch (IOException x) {
- log.error(x.getMessage(), x);
- return;
- }
-
- ReviewDb reviewDb;
- try {
-
- try {
- reviewDb = schema.open();
- } catch (OrmException x) {
- log.error(x.getMessage(), x);
- return;
+ try (Repository git = repoManager.openRepository(projectName);
+ ReviewDb reviewDb = schema.open()) {
+ CreateReviewNotes crn = reviewNotesFactory.create(
+ reviewDb, projectName, git);
+ if (e.getRefName().startsWith("refs/heads/")) {
+ crn.createNotes(e.getRefName(),
+ ObjectId.fromString(e.getOldObjectId()),
+ ObjectId.fromString(e.getNewObjectId()),
+ null);
+ crn.commitNotes();
}
-
- try {
- CreateReviewNotes crn = reviewNotesFactory.create(
- reviewDb, projectName, git);
- if (e.getRefName().startsWith("refs/heads/")) {
- crn.createNotes(e.getRefName(),
- ObjectId.fromString(e.getOldObjectId()),
- ObjectId.fromString(e.getNewObjectId()),
- null);
- crn.commitNotes();
- }
- } catch (OrmException x) {
- log.error(x.getMessage(), x);
- } catch (IOException x) {
- log.error(x.getMessage(), x);
- } catch (ConcurrentRefUpdateException x) {
- log.error(x.getMessage(), x);
- } finally {
- reviewDb.close();
- }
-
- } finally {
- git.close();
+ } catch (OrmException | IOException | ConcurrentRefUpdateException x) {
+ log.error(x.getMessage(), x);
}
-
}
}
diff --git a/src/main/resources/Documentation/about.md b/src/main/resources/Documentation/about.md
index ded934b..4e76dea 100644
--- a/src/main/resources/Documentation/about.md
+++ b/src/main/resources/Documentation/about.md
@@ -1,3 +1,2 @@
Stores review information for Gerrit changes in the refs/notes/review
branch.
-
diff --git a/src/main/resources/Documentation/refs-notes-review.md b/src/main/resources/Documentation/refs-notes-review.md
index a504025..20fd3c7 100644
--- a/src/main/resources/Documentation/refs-notes-review.md
+++ b/src/main/resources/Documentation/refs-notes-review.md
@@ -14,8 +14,7 @@
$ git fetch origin refs/notes/review:refs/notes/review
```
-It is also possible to [configure git][1] to always to always fetch
-`refs/notes/review`:
+It is also possible to [configure git][1] to always fetch `refs/notes/review`:
```
$ git config --add remote.origin.fetch refs/notes/review:refs/notes/review