Merge branch 'stable-2.15' into stable-2.16
* stable-2.15:
Upgrade bazlets to latest stable-2.15 to build with 2.15.12 API
Change-Id: Ifdff1882926f0df449a0af61444719812f37820c
diff --git a/BUILD b/BUILD
index 82c5dfb..9acc76b 100644
--- a/BUILD
+++ b/BUILD
@@ -5,7 +5,7 @@
srcs = glob(["src/main/java/**/*.java"]),
manifest_entries = [
"Gerrit-PluginName: batch",
- "Gerrit-ApiVersion: 2.15",
+ "Gerrit-ApiVersion: 2.16",
"Implementation-Title: Batch Plugin",
"Implementation-URL: https://gerrit-review.googlesource.com/#/admin/projects/plugins/batch",
"Gerrit-Module: com.googlesource.gerrit.plugins.batch.Module",
diff --git a/WORKSPACE b/WORKSPACE
index 2f74d5e..2d78cf8 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "f4fcc606a6afa8ce27a013bcf62e495a5ec2505c",
+ commit = "86562a4c8c2e885aac89eafab34a90571be2ef09",
#local_path = "/home/<user>/projects/bazlets",
)
diff --git a/pom.xml b/pom.xml
index fecdcb7..d10f765 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
<groupId>com.googlesource.gerrit.plugins.batch</groupId>
<artifactId>batch</artifactId>
<packaging>jar</packaging>
- <version>2.15.7</version>
+ <version>2.16</version>
<name>batch</name>
<properties>
diff --git a/src/main/java/com/google/gerrit/server/git/meta/GitFile.java b/src/main/java/com/google/gerrit/server/git/meta/GitFile.java
index beca5b3..ce9505e 100644
--- a/src/main/java/com/google/gerrit/server/git/meta/GitFile.java
+++ b/src/main/java/com/google/gerrit/server/git/meta/GitFile.java
@@ -18,8 +18,6 @@
import com.google.gerrit.reviewdb.client.File;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.git.GitRepositoryManager;
-import com.google.gerrit.server.git.MetaDataUpdate;
-import com.google.gerrit.server.git.VersionedMetaData;
import com.google.gerrit.server.project.NoSuchProjectException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
@@ -58,7 +56,7 @@
public String read() throws ConfigInvalidException, IOException, NoSuchProjectException {
Project.NameKey project = branch.getParentKey();
try (Repository repo = repos.openRepository(project)) {
- load(repo);
+ load(project, repo);
return text;
} catch (RepositoryNotFoundException e) {
throw new NoSuchProjectException(project);
diff --git a/src/main/java/com/google/gerrit/server/util/RefUpdater.java b/src/main/java/com/google/gerrit/server/util/RefUpdater.java
index c2c700d..0433722 100644
--- a/src/main/java/com/google/gerrit/server/util/RefUpdater.java
+++ b/src/main/java/com/google/gerrit/server/util/RefUpdater.java
@@ -202,8 +202,8 @@
project, update.getName(), update.getOldObjectId(), args.newObjectId);
}
if (userProvider.get().isIdentifiedUser()) {
- AccountState accountState = accountCache.get(userProvider.get().getAccountId());
- gitRefUpdated.fire(project, update, accountState.getAccount());
+ AccountState accountState = accountCache.get(userProvider.get().getAccountId()).get();
+ gitRefUpdated.fire(project, update, accountState);
}
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/batch/BatchStore.java b/src/main/java/com/googlesource/gerrit/plugins/batch/BatchStore.java
index 6d693df..9c0db7b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/batch/BatchStore.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/batch/BatchStore.java
@@ -29,7 +29,6 @@
import java.util.ConcurrentModificationException;
import java.util.Date;
import java.util.List;
-import java.util.Map;
import javax.inject.Singleton;
import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.lib.Ref;
@@ -62,10 +61,9 @@
public List<Batch> find(boolean includeBatchInfo) throws IOException {
List<Batch> batches = new ArrayList<>();
try (Repository repo = repoManager.openRepository(project)) {
- for (Map.Entry<String, Ref> entry : repo.getRefDatabase().getRefs(BATCHES_REF).entrySet()) {
+ for (Ref ref : repo.getRefDatabase().getRefsByPrefix(BATCHES_REF)) {
try {
- batches.add(
- (includeBatchInfo == true) ? read(entry.getKey()) : new Batch(entry.getKey()));
+ batches.add((includeBatchInfo == true) ? read(ref.getName()) : new Batch(ref.getName()));
} catch (NoSuchBatchException e) {
continue;
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/batch/BatchSubmitter.java b/src/main/java/com/googlesource/gerrit/plugins/batch/BatchSubmitter.java
index 7697dab..5da1531 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/batch/BatchSubmitter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/batch/BatchSubmitter.java
@@ -14,7 +14,6 @@
package com.googlesource.gerrit.plugins.batch;
-import com.google.gerrit.common.TimeUtil;
import com.google.gerrit.extensions.restapi.AuthException;
import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.reviewdb.client.Branch;
@@ -26,6 +25,8 @@
import com.google.gerrit.server.PatchSetUtil;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.git.MergedByPushOp;
+import com.google.gerrit.server.logging.RequestId;
+import com.google.gerrit.server.logging.TraceContext;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.permissions.ChangePermission;
import com.google.gerrit.server.permissions.PermissionBackend;
@@ -35,8 +36,8 @@
import com.google.gerrit.server.update.BatchUpdate;
import com.google.gerrit.server.update.UpdateException;
import com.google.gerrit.server.util.RefUpdater;
-import com.google.gerrit.server.util.RequestId;
import com.google.gerrit.server.util.RequestScopePropagator;
+import com.google.gerrit.server.util.time.TimeUtil;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.googlesource.gerrit.plugins.batch.exception.NoSuchBatchException;
@@ -166,15 +167,16 @@
Branch.NameKey destination = change.getDest();
Project.NameKey project = destination.getParentKey();
- try (Repository repo = repoManager.openRepository(project);
+ try (TraceContext traceContext =
+ TraceContext.open()
+ .addTag(RequestId.Type.SUBMISSION_ID, new RequestId(change.getId().toString()));
+ Repository repo = repoManager.openRepository(project);
BatchUpdate bu = batchUpdateFactory.create(db, project, user, TimeUtil.nowTs());
ObjectInserter ins = repo.newObjectInserter();
ObjectReader reader = ins.newReader();
RevWalk walk = new RevWalk(reader)) {
bu.setRepository(repo, walk, ins).updateChangesInParallel();
- bu.setRequestId(RequestId.forChange(change));
bu.setRefLogMessage("merged (batch submit)");
-
bu.addOp(
psId.getParentKey(),
mergedByPushOpFactory.create(requestScopePropagator, psId, destination.get()));
diff --git a/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/MergeChangeCommand.java b/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/MergeChangeCommand.java
index 444b148..37b4428 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/MergeChangeCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/MergeChangeCommand.java
@@ -18,7 +18,6 @@
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.reviewdb.server.ReviewDb;
-import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.OutputFormat;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.project.NoSuchRefException;
@@ -86,7 +85,6 @@
@Inject protected MergeBranch.Factory mergeBranchFactory;
@Inject protected BatchCloser batchCloser;
@Inject protected ReviewDb db;
- @Inject protected IdentifiedUser user;
@Inject protected GitRepositoryManager repoManager;
protected Map<PatchSet.Id, List<ObjectId>> parentsByPsarg = new HashMap<>();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/batch/util/MergeBranch.java b/src/main/java/com/googlesource/gerrit/plugins/batch/util/MergeBranch.java
index c766351..5d9323e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/batch/util/MergeBranch.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/batch/util/MergeBranch.java
@@ -14,16 +14,16 @@
package com.googlesource.gerrit.plugins.batch.util;
import com.google.gerrit.common.Nullable;
-import com.google.gerrit.extensions.client.InheritableBoolean;
import com.google.gerrit.extensions.restapi.BadRequestException;
+import com.google.gerrit.reviewdb.client.BooleanProjectConfig;
import com.google.gerrit.reviewdb.client.Branch;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.reviewdb.client.RefNames;
import com.google.gerrit.server.git.GitRepositoryManager;
-import com.google.gerrit.server.git.IntegrationException;
import com.google.gerrit.server.project.NoSuchRefException;
import com.google.gerrit.server.project.ProjectCache;
import com.google.gerrit.server.project.ProjectState;
+import com.google.gerrit.server.submit.IntegrationException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.googlesource.gerrit.plugins.batch.util.MergeBuilder.FastForwardMode;
@@ -112,8 +112,8 @@
protected MergeStrategy defaultStrategy(MergeStrategy strategy) {
if (strategy == null) {
- Project project = projectFromName(projectName);
- if (project != null && project.getUseContentMerge() == InheritableBoolean.TRUE) {
+ ProjectState project = projectFromName(projectName);
+ if (project != null && project.is(BooleanProjectConfig.USE_CONTENT_MERGE)) {
return MergeStrategy.RESOLVE;
}
return MergeStrategy.SIMPLE_TWO_WAY_IN_CORE;
@@ -121,11 +121,8 @@
return strategy;
}
- protected Project projectFromName(Project.NameKey name) {
+ protected ProjectState projectFromName(Project.NameKey name) {
ProjectState ps = projectCache.get(name);
- if (ps == null) {
- return null;
- }
- return ps.getProject();
+ return ps != null ? ps : null;
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/batch/util/MergeBuilder.java b/src/main/java/com/googlesource/gerrit/plugins/batch/util/MergeBuilder.java
index 6e5c4a8..72bd980 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/batch/util/MergeBuilder.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/batch/util/MergeBuilder.java
@@ -18,7 +18,7 @@
import com.google.gerrit.server.GerritPersonIdent;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.git.GitRepositoryManager;
-import com.google.gerrit.server.git.IntegrationException;
+import com.google.gerrit.server.submit.IntegrationException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import java.io.IOException;