Merge branch 'stable-2.9' into stable-2.10

Conflicts:
	gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java
	gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/RebaseIfNecessary.java
	gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyFactory.java

Change-Id: Id716ae24401756b9cfbcb46489259c0d9660412a
This commit is contained in:
Shawn Pearce
2014-08-27 17:15:33 -07:00
16 changed files with 71 additions and 38 deletions

View File

@@ -105,7 +105,7 @@ public class CherryPick extends SubmitStrategy {
mergeTip = n;
} else {
mergeTip =
args.mergeUtil.mergeOneCommit(args.myIdent, args.repo,
args.mergeUtil.mergeOneCommit(args.serverIdent.get(), args.repo,
args.rw, args.inserter, args.canMergeFlag,
args.destBranch, mergeTip, n);
}
@@ -143,10 +143,10 @@ public class CherryPick extends SubmitStrategy {
cherryPickUser =
args.identifiedUserFactory.create(submitAudit.getAccountId());
cherryPickCommitterIdent = cherryPickUser.newCommitterIdent(
submitAudit.getGranted(), args.myIdent.getTimeZone());
submitAudit.getGranted(), args.serverIdent.get().getTimeZone());
} else {
cherryPickUser = args.identifiedUserFactory.create(n.change().getOwner());
cherryPickCommitterIdent = args.myIdent;
cherryPickCommitterIdent = args.serverIdent.get();
}
final String cherryPickCmtMsg = args.mergeUtil.createCherryPickCommitMessage(n);

View File

@@ -38,7 +38,7 @@ public class MergeAlways extends SubmitStrategy {
}
while (!toMerge.isEmpty()) {
mergeTip =
args.mergeUtil.mergeOneCommit(args.myIdent, args.repo, args.rw,
args.mergeUtil.mergeOneCommit(args.serverIdent.get(), args.repo, args.rw,
args.inserter, args.canMergeFlag, args.destBranch, mergeTip,
toMerge.remove(0));
}

View File

@@ -43,7 +43,7 @@ public class MergeIfNecessary extends SubmitStrategy {
// For every other commit do a pair-wise merge.
while (!toMerge.isEmpty()) {
mergeTip =
args.mergeUtil.mergeOneCommit(args.myIdent, args.repo, args.rw,
args.mergeUtil.mergeOneCommit(args.serverIdent.get(), args.repo, args.rw,
args.inserter, args.canMergeFlag, args.destBranch, mergeTip,
toMerge.remove(0));
}

View File

@@ -32,7 +32,6 @@ import com.google.gerrit.server.project.NoSuchChangeException;
import com.google.gwtorm.server.OrmException;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.PersonIdent;
import java.io.IOException;
import java.util.HashMap;
@@ -43,17 +42,14 @@ public class RebaseIfNecessary extends SubmitStrategy {
private final PatchSetInfoFactory patchSetInfoFactory;
private final RebaseChange rebaseChange;
private final Map<Change.Id, CodeReviewCommit> newCommits;
private final PersonIdent committerIdent;
RebaseIfNecessary(SubmitStrategy.Arguments args,
PatchSetInfoFactory patchSetInfoFactory,
RebaseChange rebaseChange,
PersonIdent committerIdent) {
RebaseChange rebaseChange) {
super(args);
this.patchSetInfoFactory = patchSetInfoFactory;
this.rebaseChange = rebaseChange;
this.newCommits = new HashMap<>();
this.committerIdent = committerIdent;
}
@Override
@@ -91,7 +87,7 @@ public class RebaseIfNecessary extends SubmitStrategy {
final PatchSet newPatchSet =
rebaseChange.rebase(args.repo, args.rw, args.inserter,
n.getPatchsetId(), n.change(), uploader,
newMergeTip, args.mergeUtil, committerIdent,
newMergeTip, args.mergeUtil, args.serverIdent.get(),
false, false, ValidatePolicy.NONE);
List<PatchSetApproval> approvals = Lists.newArrayList();
@@ -133,7 +129,7 @@ public class RebaseIfNecessary extends SubmitStrategy {
newMergeTip = n;
} else {
newMergeTip = args.mergeUtil.mergeOneCommit(
args.myIdent, args.repo, args.rw, args.inserter,
args.serverIdent.get(), args.repo, args.rw, args.inserter,
args.canMergeFlag, args.destBranch, newMergeTip, n);
}
final PatchSetApproval submitApproval = args.mergeUtil.markCleanMerges(

View File

@@ -27,6 +27,7 @@ import com.google.gerrit.server.git.MergeSorter;
import com.google.gerrit.server.git.MergeUtil;
import com.google.gerrit.server.index.ChangeIndexer;
import com.google.gerrit.server.project.ChangeControl;
import com.google.inject.Provider;
import org.eclipse.jgit.lib.ObjectInserter;
import org.eclipse.jgit.lib.PersonIdent;
@@ -52,7 +53,7 @@ public abstract class SubmitStrategy {
static class Arguments {
protected final IdentifiedUser.GenericFactory identifiedUserFactory;
protected final PersonIdent myIdent;
protected final Provider<PersonIdent> serverIdent;
protected final ReviewDb db;
protected final ChangeControl.GenericFactory changeControlFactory;
@@ -68,14 +69,14 @@ public abstract class SubmitStrategy {
protected final MergeSorter mergeSorter;
Arguments(final IdentifiedUser.GenericFactory identifiedUserFactory,
final PersonIdent myIdent, final ReviewDb db,
final Provider<PersonIdent> serverIdent, final ReviewDb db,
final ChangeControl.GenericFactory changeControlFactory,
final Repository repo, final RevWalk rw, final ObjectInserter inserter,
final RevFlag canMergeFlag, final Set<RevCommit> alreadyAccepted,
final Branch.NameKey destBranch, final ApprovalsUtil approvalsUtil,
final MergeUtil mergeUtil, final ChangeIndexer indexer) {
this.identifiedUserFactory = identifiedUserFactory;
this.myIdent = myIdent;
this.serverIdent = serverIdent;
this.db = db;
this.changeControlFactory = changeControlFactory;

View File

@@ -31,6 +31,7 @@ import com.google.gerrit.server.project.NoSuchProjectException;
import com.google.gerrit.server.project.ProjectCache;
import com.google.gerrit.server.project.ProjectState;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import org.eclipse.jgit.lib.ObjectInserter;
@@ -51,7 +52,7 @@ public class SubmitStrategyFactory {
.getLogger(SubmitStrategyFactory.class);
private final IdentifiedUser.GenericFactory identifiedUserFactory;
private final PersonIdent myIdent;
private final Provider<PersonIdent> myIdent;
private final ChangeControl.GenericFactory changeControlFactory;
private final PatchSetInfoFactory patchSetInfoFactory;
private final GitReferenceUpdated gitRefUpdated;
@@ -64,7 +65,7 @@ public class SubmitStrategyFactory {
@Inject
SubmitStrategyFactory(
final IdentifiedUser.GenericFactory identifiedUserFactory,
@GerritPersonIdent final PersonIdent myIdent,
@GerritPersonIdent Provider<PersonIdent> myIdent,
final ChangeControl.GenericFactory changeControlFactory,
final PatchSetInfoFactory patchSetInfoFactory,
final GitReferenceUpdated gitRefUpdated, final RebaseChange rebaseChange,
@@ -105,8 +106,7 @@ public class SubmitStrategyFactory {
case MERGE_IF_NECESSARY:
return new MergeIfNecessary(args);
case REBASE_IF_NECESSARY:
return new RebaseIfNecessary(
args, patchSetInfoFactory, rebaseChange, myIdent);
return new RebaseIfNecessary(args, patchSetInfoFactory, rebaseChange);
default:
final String errorMsg = "No submit strategy for: " + submitType;
log.error(errorMsg);