Move PatchSetInserter.ValidatePolicy to CommitValidators
Change-Id: Ie106dcab5baaa133059f77c2516e011a8aa2f92e
This commit is contained in:
@@ -42,10 +42,10 @@ import com.google.gerrit.server.ChangeUtil;
|
|||||||
import com.google.gerrit.server.CurrentUser;
|
import com.google.gerrit.server.CurrentUser;
|
||||||
import com.google.gerrit.server.GerritPersonIdent;
|
import com.google.gerrit.server.GerritPersonIdent;
|
||||||
import com.google.gerrit.server.IdentifiedUser;
|
import com.google.gerrit.server.IdentifiedUser;
|
||||||
import com.google.gerrit.server.change.PatchSetInserter.ValidatePolicy;
|
|
||||||
import com.google.gerrit.server.git.BatchUpdate;
|
import com.google.gerrit.server.git.BatchUpdate;
|
||||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||||
import com.google.gerrit.server.git.UpdateException;
|
import com.google.gerrit.server.git.UpdateException;
|
||||||
|
import com.google.gerrit.server.git.validators.CommitValidators;
|
||||||
import com.google.gerrit.server.patch.PatchSetInfoFactory;
|
import com.google.gerrit.server.patch.PatchSetInfoFactory;
|
||||||
import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
|
import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
|
||||||
import com.google.gerrit.server.project.ChangeControl;
|
import com.google.gerrit.server.project.ChangeControl;
|
||||||
@@ -467,7 +467,7 @@ public class ConsistencyChecker {
|
|||||||
patchSetInserterFactory.create(repo, rw, ctl, commit);
|
patchSetInserterFactory.create(repo, rw, ctl, commit);
|
||||||
try (BatchUpdate bu = updateFactory.create(
|
try (BatchUpdate bu = updateFactory.create(
|
||||||
db.get(), change.getDest().getParentKey(), TimeUtil.nowTs())) {
|
db.get(), change.getDest().getParentKey(), TimeUtil.nowTs())) {
|
||||||
bu.addOp(ctl, inserter.setValidatePolicy(ValidatePolicy.NONE)
|
bu.addOp(ctl, inserter.setValidatePolicy(CommitValidators.Policy.NONE)
|
||||||
.setRunHooks(false)
|
.setRunHooks(false)
|
||||||
.setSendMail(false)
|
.setSendMail(false)
|
||||||
.setAllowClosed(true)
|
.setAllowClosed(true)
|
||||||
|
|||||||
@@ -76,15 +76,6 @@ public class PatchSetInserter extends BatchUpdate.Op {
|
|||||||
RevCommit commit);
|
RevCommit commit);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether to use {@link CommitValidators#validateForGerritCommits},
|
|
||||||
* {@link CommitValidators#validateForReceiveCommits}, or no commit
|
|
||||||
* validation.
|
|
||||||
*/
|
|
||||||
public static enum ValidatePolicy {
|
|
||||||
GERRIT, RECEIVE_COMMITS, NONE
|
|
||||||
}
|
|
||||||
|
|
||||||
// Injected fields.
|
// Injected fields.
|
||||||
private final ChangeHooks hooks;
|
private final ChangeHooks hooks;
|
||||||
private final PatchSetInfoFactory patchSetInfoFactory;
|
private final PatchSetInfoFactory patchSetInfoFactory;
|
||||||
@@ -108,7 +99,8 @@ public class PatchSetInserter extends BatchUpdate.Op {
|
|||||||
// Fields exposed as setters.
|
// Fields exposed as setters.
|
||||||
private SshInfo sshInfo;
|
private SshInfo sshInfo;
|
||||||
private String message;
|
private String message;
|
||||||
private ValidatePolicy validatePolicy = ValidatePolicy.GERRIT;
|
private CommitValidators.Policy validatePolicy =
|
||||||
|
CommitValidators.Policy.GERRIT;
|
||||||
private boolean draft;
|
private boolean draft;
|
||||||
private Iterable<String> groups;
|
private Iterable<String> groups;
|
||||||
private boolean runHooks = true;
|
private boolean runHooks = true;
|
||||||
@@ -176,7 +168,7 @@ public class PatchSetInserter extends BatchUpdate.Op {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PatchSetInserter setValidatePolicy(ValidatePolicy validate) {
|
public PatchSetInserter setValidatePolicy(CommitValidators.Policy validate) {
|
||||||
this.validatePolicy = checkNotNull(validate);
|
this.validatePolicy = checkNotNull(validate);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,12 +26,12 @@ import com.google.gerrit.reviewdb.client.RevId;
|
|||||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||||
import com.google.gerrit.server.GerritPersonIdent;
|
import com.google.gerrit.server.GerritPersonIdent;
|
||||||
import com.google.gerrit.server.IdentifiedUser;
|
import com.google.gerrit.server.IdentifiedUser;
|
||||||
import com.google.gerrit.server.change.PatchSetInserter.ValidatePolicy;
|
|
||||||
import com.google.gerrit.server.git.BatchUpdate;
|
import com.google.gerrit.server.git.BatchUpdate;
|
||||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||||
import com.google.gerrit.server.git.MergeConflictException;
|
import com.google.gerrit.server.git.MergeConflictException;
|
||||||
import com.google.gerrit.server.git.MergeUtil;
|
import com.google.gerrit.server.git.MergeUtil;
|
||||||
import com.google.gerrit.server.git.UpdateException;
|
import com.google.gerrit.server.git.UpdateException;
|
||||||
|
import com.google.gerrit.server.git.validators.CommitValidators;
|
||||||
import com.google.gerrit.server.project.ChangeControl;
|
import com.google.gerrit.server.project.ChangeControl;
|
||||||
import com.google.gerrit.server.project.InvalidChangeOperationException;
|
import com.google.gerrit.server.project.InvalidChangeOperationException;
|
||||||
import com.google.gerrit.server.project.NoSuchChangeException;
|
import com.google.gerrit.server.project.NoSuchChangeException;
|
||||||
@@ -141,7 +141,7 @@ public class RebaseChange {
|
|||||||
rebase(git, rw, inserter, change, patchSet.getId(),
|
rebase(git, rw, inserter, change, patchSet.getId(),
|
||||||
uploader, baseCommit, mergeUtilFactory.create(
|
uploader, baseCommit, mergeUtilFactory.create(
|
||||||
rsrc.getControl().getProjectControl().getProjectState(), true),
|
rsrc.getControl().getProjectControl().getProjectState(), true),
|
||||||
committerIdent, true, ValidatePolicy.GERRIT);
|
committerIdent, true, CommitValidators.Policy.GERRIT);
|
||||||
} catch (MergeConflictException e) {
|
} catch (MergeConflictException e) {
|
||||||
throw new ResourceConflictException(e.getMessage());
|
throw new ResourceConflictException(e.getMessage());
|
||||||
}
|
}
|
||||||
@@ -259,7 +259,8 @@ public class RebaseChange {
|
|||||||
public PatchSet rebase(Repository git, RevWalk rw,
|
public PatchSet rebase(Repository git, RevWalk rw,
|
||||||
ObjectInserter inserter, Change change, PatchSet.Id patchSetId,
|
ObjectInserter inserter, Change change, PatchSet.Id patchSetId,
|
||||||
IdentifiedUser uploader, RevCommit baseCommit, MergeUtil mergeUtil,
|
IdentifiedUser uploader, RevCommit baseCommit, MergeUtil mergeUtil,
|
||||||
PersonIdent committerIdent, boolean runHooks, ValidatePolicy validate)
|
PersonIdent committerIdent, boolean runHooks,
|
||||||
|
CommitValidators.Policy validate)
|
||||||
throws NoSuchChangeException, OrmException, IOException,
|
throws NoSuchChangeException, OrmException, IOException,
|
||||||
InvalidChangeOperationException, MergeConflictException, UpdateException,
|
InvalidChangeOperationException, MergeConflictException, UpdateException,
|
||||||
RestApiException {
|
RestApiException {
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import com.google.gerrit.extensions.restapi.RestApiException;
|
|||||||
import com.google.gerrit.reviewdb.client.Change;
|
import com.google.gerrit.reviewdb.client.Change;
|
||||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||||
import com.google.gerrit.reviewdb.client.PatchSetApproval;
|
import com.google.gerrit.reviewdb.client.PatchSetApproval;
|
||||||
import com.google.gerrit.server.change.PatchSetInserter.ValidatePolicy;
|
|
||||||
import com.google.gerrit.server.change.RebaseChange;
|
import com.google.gerrit.server.change.RebaseChange;
|
||||||
import com.google.gerrit.server.git.CodeReviewCommit;
|
import com.google.gerrit.server.git.CodeReviewCommit;
|
||||||
import com.google.gerrit.server.git.CommitMergeStatus;
|
import com.google.gerrit.server.git.CommitMergeStatus;
|
||||||
@@ -28,6 +27,7 @@ import com.google.gerrit.server.git.MergeException;
|
|||||||
import com.google.gerrit.server.git.MergeTip;
|
import com.google.gerrit.server.git.MergeTip;
|
||||||
import com.google.gerrit.server.git.RebaseSorter;
|
import com.google.gerrit.server.git.RebaseSorter;
|
||||||
import com.google.gerrit.server.git.UpdateException;
|
import com.google.gerrit.server.git.UpdateException;
|
||||||
|
import com.google.gerrit.server.git.validators.CommitValidators;
|
||||||
import com.google.gerrit.server.patch.PatchSetInfoFactory;
|
import com.google.gerrit.server.patch.PatchSetInfoFactory;
|
||||||
import com.google.gerrit.server.project.InvalidChangeOperationException;
|
import com.google.gerrit.server.project.InvalidChangeOperationException;
|
||||||
import com.google.gerrit.server.project.NoSuchChangeException;
|
import com.google.gerrit.server.project.NoSuchChangeException;
|
||||||
@@ -90,7 +90,8 @@ public class RebaseIfNecessary extends SubmitStrategy {
|
|||||||
rebaseChange.rebase(args.repo, args.rw, args.inserter,
|
rebaseChange.rebase(args.repo, args.rw, args.inserter,
|
||||||
n.change(), n.getPatchsetId(), args.caller,
|
n.change(), n.getPatchsetId(), args.caller,
|
||||||
mergeTip.getCurrentTip(), args.mergeUtil,
|
mergeTip.getCurrentTip(), args.mergeUtil,
|
||||||
args.serverIdent.get(), false, ValidatePolicy.NONE);
|
args.serverIdent.get(), false,
|
||||||
|
CommitValidators.Policy.NONE);
|
||||||
List<PatchSetApproval> approvals = Lists.newArrayList();
|
List<PatchSetApproval> approvals = Lists.newArrayList();
|
||||||
for (PatchSetApproval a : args.approvalsUtil.byPatchSet(args.db,
|
for (PatchSetApproval a : args.approvalsUtil.byPatchSet(args.db,
|
||||||
n.getControl(), n.getPatchsetId())) {
|
n.getControl(), n.getPatchsetId())) {
|
||||||
|
|||||||
@@ -60,6 +60,17 @@ public class CommitValidators {
|
|||||||
private static final Logger log = LoggerFactory
|
private static final Logger log = LoggerFactory
|
||||||
.getLogger(CommitValidators.class);
|
.getLogger(CommitValidators.class);
|
||||||
|
|
||||||
|
public static enum Policy {
|
||||||
|
/** Use {@link #validateForGerritCommits}. */
|
||||||
|
GERRIT,
|
||||||
|
|
||||||
|
/** Use {@link #validateForReceiveCommits}. */
|
||||||
|
RECEIVE_COMMITS,
|
||||||
|
|
||||||
|
/** Do not validate commits. */
|
||||||
|
NONE
|
||||||
|
}
|
||||||
|
|
||||||
public interface Factory {
|
public interface Factory {
|
||||||
CommitValidators create(RefControl refControl, SshInfo sshInfo,
|
CommitValidators create(RefControl refControl, SshInfo sshInfo,
|
||||||
Repository repo);
|
Repository repo);
|
||||||
|
|||||||
@@ -53,8 +53,8 @@ import com.google.gerrit.server.account.AuthRequest;
|
|||||||
import com.google.gerrit.server.change.ChangeInserter;
|
import com.google.gerrit.server.change.ChangeInserter;
|
||||||
import com.google.gerrit.server.change.ChangeTriplet;
|
import com.google.gerrit.server.change.ChangeTriplet;
|
||||||
import com.google.gerrit.server.change.PatchSetInserter;
|
import com.google.gerrit.server.change.PatchSetInserter;
|
||||||
import com.google.gerrit.server.change.PatchSetInserter.ValidatePolicy;
|
|
||||||
import com.google.gerrit.server.git.BatchUpdate;
|
import com.google.gerrit.server.git.BatchUpdate;
|
||||||
|
import com.google.gerrit.server.git.validators.CommitValidators;
|
||||||
import com.google.gerrit.server.index.IndexCollection;
|
import com.google.gerrit.server.index.IndexCollection;
|
||||||
import com.google.gerrit.server.notedb.NotesMigration;
|
import com.google.gerrit.server.notedb.NotesMigration;
|
||||||
import com.google.gerrit.server.project.ChangeControl;
|
import com.google.gerrit.server.project.ChangeControl;
|
||||||
@@ -1333,7 +1333,7 @@ public abstract class AbstractQueryChangesTest {
|
|||||||
repo.getRepository(), repo.getRevWalk(), ctl, commit)
|
repo.getRepository(), repo.getRevWalk(), ctl, commit)
|
||||||
.setSendMail(false)
|
.setSendMail(false)
|
||||||
.setRunHooks(false)
|
.setRunHooks(false)
|
||||||
.setValidatePolicy(ValidatePolicy.NONE);
|
.setValidatePolicy(CommitValidators.Policy.NONE);
|
||||||
try (BatchUpdate bu = updateFactory.create(
|
try (BatchUpdate bu = updateFactory.create(
|
||||||
db, c.getDest().getParentKey(), TimeUtil.nowTs())) {
|
db, c.getDest().getParentKey(), TimeUtil.nowTs())) {
|
||||||
bu.addOp(ctl, inserter);
|
bu.addOp(ctl, inserter);
|
||||||
|
|||||||
Reference in New Issue
Block a user