From b84eaacb34b8227a5fc5a8debae1941a4c97fca5 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Fri, 7 Feb 2014 18:21:56 +0900 Subject: [PATCH] Move merge strategy classes to their own subpackage Move the classes implementing the merge strategies into their own separate subpackage. Make members of CodeReviewCommit private and add getter/setter methods. Change-Id: Ice2faea73bcf86ec7edbdf69e4ac6f458d41757d --- .../gerrit/server/change/Mergeable.java | 2 +- .../gerrit/server/git/CodeReviewCommit.java | 38 +++++++++++++++---- .../com/google/gerrit/server/git/MergeOp.java | 35 ++++++++--------- .../google/gerrit/server/git/MergeSorter.java | 8 ++-- .../google/gerrit/server/git/MergeUtil.java | 20 +++++----- .../gerrit/server/git/RebaseSorter.java | 10 ++--- .../google/gerrit/server/git/SubmoduleOp.java | 5 ++- .../server/git/{ => strategy}/CherryPick.java | 22 ++++++----- .../git/{ => strategy}/FastForwardOnly.java | 7 +++- .../git/{ => strategy}/MergeAlways.java | 4 +- .../git/{ => strategy}/MergeIfNecessary.java | 4 +- .../git/{ => strategy}/RebaseIfNecessary.java | 25 ++++++------ .../git/{ => strategy}/SubmitStrategy.java | 6 ++- .../{ => strategy}/SubmitStrategyFactory.java | 4 +- .../query/change/ChangeQueryBuilder.java | 2 +- .../query/change/ConflictsPredicate.java | 2 +- 16 files changed, 119 insertions(+), 75 deletions(-) rename gerrit-server/src/main/java/com/google/gerrit/server/git/{ => strategy}/CherryPick.java (92%) rename gerrit-server/src/main/java/com/google/gerrit/server/git/{ => strategy}/FastForwardOnly.java (86%) rename gerrit-server/src/main/java/com/google/gerrit/server/git/{ => strategy}/MergeAlways.java (92%) rename gerrit-server/src/main/java/com/google/gerrit/server/git/{ => strategy}/MergeIfNecessary.java (93%) rename gerrit-server/src/main/java/com/google/gerrit/server/git/{ => strategy}/RebaseIfNecessary.java (88%) rename gerrit-server/src/main/java/com/google/gerrit/server/git/{ => strategy}/SubmitStrategy.java (96%) rename gerrit-server/src/main/java/com/google/gerrit/server/git/{ => strategy}/SubmitStrategyFactory.java (97%) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Mergeable.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Mergeable.java index a252e01dfa..6b4ea7c3b5 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Mergeable.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Mergeable.java @@ -27,7 +27,7 @@ import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.git.CodeReviewCommit; import com.google.gerrit.server.git.GitRepositoryManager; import com.google.gerrit.server.git.MergeException; -import com.google.gerrit.server.git.SubmitStrategyFactory; +import com.google.gerrit.server.git.strategy.SubmitStrategyFactory; import com.google.gerrit.server.index.ChangeIndexer; import com.google.gerrit.server.project.NoSuchProjectException; import com.google.gwtorm.server.OrmException; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/CodeReviewCommit.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/CodeReviewCommit.java index edd62af21e..b849089bff 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/CodeReviewCommit.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/CodeReviewCommit.java @@ -39,10 +39,10 @@ public class CodeReviewCommit extends RevCommit { * This value is only available on commits that have a PatchSet represented in * the code review system. */ - PatchSet.Id patchsetId; + private PatchSet.Id patchsetId; /** Change control for the change owner. */ - ChangeControl control; + private ChangeControl control; /** * Ordinal position of this commit within the submit queue. @@ -56,7 +56,7 @@ public class CodeReviewCommit extends RevCommit { *

* Only valid if {@link #patchsetId} is not null. */ - CommitMergeStatus statusCode; + private CommitMergeStatus statusCode; /** Commits which are missing ancestors of this commit. */ List missing; @@ -66,10 +66,26 @@ public class CodeReviewCommit extends RevCommit { } public ChangeNotes notes() { - return control.getNotes(); + return getControl().getNotes(); } - void copyFrom(final CodeReviewCommit src) { + public CommitMergeStatus getStatusCode() { + return statusCode; + } + + public void setStatusCode(CommitMergeStatus statusCode) { + this.statusCode = statusCode; + } + + public PatchSet.Id getPatchsetId() { + return patchsetId; + } + + public void setPatchsetId(PatchSet.Id patchsetId) { + this.patchsetId = patchsetId; + } + + public void copyFrom(final CodeReviewCommit src) { control = src.control; patchsetId = src.patchsetId; originalOrder = src.originalOrder; @@ -77,7 +93,15 @@ public class CodeReviewCommit extends RevCommit { missing = src.missing; } - Change change() { - return control.getChange(); + public Change change() { + return getControl().getChange(); + } + + public ChangeControl getControl() { + return control; + } + + public void setControl(ChangeControl control) { + this.control = control; } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java index d187708b8c..4568d1a556 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java @@ -46,6 +46,8 @@ import com.google.gerrit.server.ChangeUtil; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.account.AccountCache; import com.google.gerrit.server.extensions.events.GitReferenceUpdated; +import com.google.gerrit.server.git.strategy.SubmitStrategy; +import com.google.gerrit.server.git.strategy.SubmitStrategyFactory; import com.google.gerrit.server.git.validators.MergeValidationException; import com.google.gerrit.server.git.validators.MergeValidators; import com.google.gerrit.server.index.ChangeIndexer; @@ -262,7 +264,7 @@ public class MergeOp { // missing are still attempted to be merged with another submit // strategy, retry to merge this commit in the next turn it.remove(); - commit.statusCode = null; + commit.setStatusCode(null); commit.missing = null; toMergeNextTurn.put(submitType, commit); } @@ -334,7 +336,7 @@ public class MergeOp { return false; } - if (missingCommit.patchsetId == null) { + if (missingCommit.getPatchsetId() == null) { // The commit doesn't have a patch set, so it cannot be // submitted to the branch. // @@ -342,7 +344,7 @@ public class MergeOp { } if (!missingCommit.change().currentPatchSetId().equals( - missingCommit.patchsetId)) { + missingCommit.getPatchsetId())) { // If the missing commit is not the current patch set, // the change must be rebased to use the proper parent. // @@ -525,12 +527,12 @@ public class MergeOp { } try { - commit.control = changeControlFactory.controlFor(chg, - identifiedUserFactory.create(chg.getOwner())); + commit.setControl(changeControlFactory.controlFor(chg, + identifiedUserFactory.create(chg.getOwner()))); } catch (NoSuchChangeException e) { throw new MergeException("Failed to validate changes", e); } - commit.patchsetId = ps.getId(); + commit.setPatchsetId(ps.getId()); commit.originalOrder = commitOrder++; commits.put(changeId, commit); @@ -541,7 +543,7 @@ public class MergeOp { // try { if (rw.isMergedInto(commit, branchTip)) { - commit.statusCode = CommitMergeStatus.ALREADY_MERGED; + commit.setStatusCode(CommitMergeStatus.ALREADY_MERGED); try { setMerged(chg, null); } catch (OrmException e) { @@ -554,7 +556,7 @@ public class MergeOp { } } - final SubmitType submitType = getSubmitType(commit.control, ps); + final SubmitType submitType = getSubmitType(commit.getControl(), ps); if (submitType == null) { commits.put(changeId, CodeReviewCommit.error(CommitMergeStatus.NO_SUBMIT_TYPE)); @@ -625,7 +627,7 @@ public class MergeOp { Account account = null; PatchSetApproval submitter = approvalsUtil.getSubmitter( - db, mergeTip.notes(), mergeTip.patchsetId); + db, mergeTip.notes(), mergeTip.getPatchsetId()); if (submitter != null) { account = accountCache.get(submitter.getAccountId()).getAccount(); } @@ -654,7 +656,7 @@ public class MergeOp { private void updateChangeStatus(final List submitted) { for (final Change c : submitted) { final CodeReviewCommit commit = commits.get(c.getId()); - final CommitMergeStatus s = commit != null ? commit.statusCode : null; + final CommitMergeStatus s = commit != null ? commit.getStatusCode() : null; if (s == null) { // Shouldn't ever happen, but leave the change alone. We'll pick // it up on the next pass. @@ -765,12 +767,12 @@ public class MergeOp { m.append("The following dependency errors were found:\n"); m.append("\n"); for (CodeReviewCommit missingCommit : commit.missing) { - if (missingCommit.patchsetId != null) { + if (missingCommit.getPatchsetId() != null) { m.append("* Depends on patch set "); - m.append(missingCommit.patchsetId.get()); + m.append(missingCommit.getPatchsetId().get()); m.append(" of "); m.append(missingCommit.change().getKey().abbreviate()); - if (missingCommit.patchsetId.get() != missingCommit.change().currentPatchSetId().get()) { + if (missingCommit.getPatchsetId().get() != missingCommit.change().currentPatchSetId().get()) { m.append(", however the current patch set is "); m.append(missingCommit.change().currentPatchSetId().get()); } @@ -792,14 +794,13 @@ public class MergeOp { private void loadChangeInfo(final CodeReviewCommit commit) throws NoSuchChangeException, OrmException { - if (commit.control == null) { + if (commit.getControl() == null) { List matches = db.patchSets().byRevision(new RevId(commit.name())).toList(); if (matches.size() == 1) { PatchSet ps = matches.get(0); - commit.patchsetId = ps.getId(); - commit.control = - changeControl(db.changes().get(ps.getId().getParentKey())); + commit.setPatchsetId(ps.getId()); + commit.setControl(changeControl(db.changes().get(ps.getId().getParentKey()))); } } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeSorter.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeSorter.java index 3911d96ee1..9b4582d54f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeSorter.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeSorter.java @@ -26,12 +26,12 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; -class MergeSorter { +public class MergeSorter { private final RevWalk rw; private final RevFlag canMergeFlag; private final Set accepted; - MergeSorter(final RevWalk rw, final Set alreadyAccepted, + public MergeSorter(final RevWalk rw, final Set alreadyAccepted, final RevFlag canMergeFlag) { this.rw = rw; this.canMergeFlag = canMergeFlag; @@ -59,7 +59,7 @@ class MergeSorter { // aren't permitted to merge at this time. Drop n. // if (n.missing == null) { - n.statusCode = CommitMergeStatus.MISSING_DEPENDENCY; + n.setStatusCode(CommitMergeStatus.MISSING_DEPENDENCY); n.missing = new ArrayList(); } n.missing.add((CodeReviewCommit) c); @@ -68,7 +68,7 @@ class MergeSorter { } } - if (n.statusCode == CommitMergeStatus.MISSING_DEPENDENCY) { + if (n.getStatusCode() == CommitMergeStatus.MISSING_DEPENDENCY) { continue; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java index a6acf6022a..b9624fea26 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java @@ -167,8 +167,8 @@ public class MergeUtil { }); } - PatchSetApproval getSubmitter(CodeReviewCommit c) { - return approvalsUtil.getSubmitter(db.get(), c.notes(), c.patchsetId); + public PatchSetApproval getSubmitter(CodeReviewCommit c) { + return approvalsUtil.getSubmitter(db.get(), c.notes(), c.getPatchsetId()); } public RevCommit createCherryPickFromCommit(Repository repo, @@ -226,7 +226,7 @@ public class MergeUtil { final String siteUrl = urlProvider.get(); if (siteUrl != null) { - final String url = siteUrl + n.patchsetId.getParentKey().get(); + final String url = siteUrl + n.getPatchsetId().getParentKey().get(); if (!contains(footers, REVIEWED_ON, url)) { msgbuf.append(REVIEWED_ON.getName()); msgbuf.append(": "); @@ -313,9 +313,9 @@ public class MergeUtil { private List safeGetApprovals(CodeReviewCommit n) { try { - return approvalsUtil.byPatchSet(db.get(), n.notes(), n.patchsetId); + return approvalsUtil.byPatchSet(db.get(), n.notes(), n.getPatchsetId()); } catch (OrmException e) { - log.error("Can't read approval records for " + n.patchsetId, e); + log.error("Can't read approval records for " + n.getPatchsetId(), e); return Collections.emptyList(); } } @@ -540,7 +540,7 @@ public class MergeUtil { rw.markUninteresting(mergeTip); CodeReviewCommit failed; while ((failed = (CodeReviewCommit) rw.next()) != null) { - failed.statusCode = failure; + failed.setStatusCode(failure); } return failed; } @@ -557,7 +557,7 @@ public class MergeUtil { rw.markUninteresting(mergeTip); for (final RevCommit c : rw) { final CodeReviewCommit crc = (CodeReviewCommit) c; - if (crc.patchsetId != null) { + if (crc.getPatchsetId() != null) { merged.add(crc); } } @@ -589,7 +589,7 @@ public class MergeUtil { CodeReviewCommit mergeResult = (CodeReviewCommit) rw.parseCommit(commit(inserter, mergeCommit)); - mergeResult.control = n.control; + mergeResult.setControl(n.getControl()); return mergeResult; } @@ -706,8 +706,8 @@ public class MergeUtil { CodeReviewCommit c; while ((c = (CodeReviewCommit) rw.next()) != null) { - if (c.patchsetId != null) { - c.statusCode = CommitMergeStatus.CLEAN_MERGE; + if (c.getPatchsetId() != null) { + c.setStatusCode(CommitMergeStatus.CLEAN_MERGE); if (submitApproval == null) { submitApproval = getSubmitter(c); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/RebaseSorter.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/RebaseSorter.java index 09c970ed6a..b0232cab27 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/RebaseSorter.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/RebaseSorter.java @@ -27,20 +27,20 @@ import java.util.Iterator; import java.util.List; import java.util.Set; -class RebaseSorter { +public class RebaseSorter { private final RevWalk rw; private final RevFlag canMergeFlag; private final Set accepted; - RebaseSorter(final RevWalk rw, final Set alreadyAccepted, + public RebaseSorter(final RevWalk rw, final Set alreadyAccepted, final RevFlag canMergeFlag) { this.rw = rw; this.canMergeFlag = canMergeFlag; this.accepted = alreadyAccepted; } - List sort(Collection incoming) + public List sort(Collection incoming) throws IOException { final List sorted = new ArrayList(); final Set sort = new HashSet(incoming); @@ -61,7 +61,7 @@ class RebaseSorter { // aren't permitted to merge at this time. Drop n. // if (n.missing == null) { - n.statusCode = CommitMergeStatus.MISSING_DEPENDENCY; + n.setStatusCode(CommitMergeStatus.MISSING_DEPENDENCY); n.missing = new ArrayList(); } n.missing.add(c); @@ -70,7 +70,7 @@ class RebaseSorter { } } - if (n.statusCode == CommitMergeStatus.MISSING_DEPENDENCY) { + if (n.getStatusCode() == CommitMergeStatus.MISSING_DEPENDENCY) { continue; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java index 14a8fe7e13..1096a09efe 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java @@ -216,8 +216,9 @@ public class SubmoduleOp { for (final Change chg : submitted) { final CodeReviewCommit c = commits.get(chg.getId()); if (c != null - && (c.statusCode == CommitMergeStatus.CLEAN_MERGE - || c.statusCode == CommitMergeStatus.CLEAN_PICK || c.statusCode == CommitMergeStatus.CLEAN_REBASE)) { + && (c.getStatusCode() == CommitMergeStatus.CLEAN_MERGE + || c.getStatusCode() == CommitMergeStatus.CLEAN_PICK + || c.getStatusCode() == CommitMergeStatus.CLEAN_REBASE)) { msgbuf += "\n"; msgbuf += c.getFullMessage(); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/CherryPick.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/CherryPick.java similarity index 92% rename from gerrit-server/src/main/java/com/google/gerrit/server/git/CherryPick.java rename to gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/CherryPick.java index 56a5ae1ad4..83119de303 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/CherryPick.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/CherryPick.java @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package com.google.gerrit.server.git; +package com.google.gerrit.server.git.strategy; import com.google.common.collect.Lists; import com.google.gerrit.reviewdb.client.Change; @@ -24,6 +24,9 @@ import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.ChangeUtil; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.extensions.events.GitReferenceUpdated; +import com.google.gerrit.server.git.CodeReviewCommit; +import com.google.gerrit.server.git.CommitMergeStatus; +import com.google.gerrit.server.git.MergeException; import com.google.gerrit.server.patch.PatchSetInfoFactory; import com.google.gerrit.server.project.NoSuchChangeException; import com.google.gerrit.server.util.TimeUtil; @@ -69,13 +72,13 @@ public class CherryPick extends SubmitStrategy { // create the branch. // newMergeTip = n; - n.statusCode = CommitMergeStatus.CLEAN_MERGE; + n.setStatusCode(CommitMergeStatus.CLEAN_MERGE); } else if (n.getParentCount() == 0) { // Refuse to merge a root commit into an existing branch, // we cannot obtain a delta for the cherry-pick to apply. // - n.statusCode = CommitMergeStatus.CANNOT_CHERRY_PICK_ROOT; + n.setStatusCode(CommitMergeStatus.CANNOT_CHERRY_PICK_ROOT); } else if (n.getParentCount() == 1) { // If there is only one parent, a cherry-pick can be done by @@ -86,9 +89,9 @@ public class CherryPick extends SubmitStrategy { newMergeTip = writeCherryPickCommit(mergeTip, n); if (newMergeTip != null) { - newCommits.put(newMergeTip.patchsetId.getParentKey(), newMergeTip); + newCommits.put(newMergeTip.getPatchsetId().getParentKey(), newMergeTip); } else { - n.statusCode = CommitMergeStatus.PATH_CONFLICT; + n.setStatusCode(CommitMergeStatus.PATH_CONFLICT); } } else { @@ -177,7 +180,7 @@ public class CherryPick extends SubmitStrategy { final List approvals = Lists.newArrayList(); for (PatchSetApproval a - : args.approvalsUtil.byPatchSet(args.db, n.notes(), n.patchsetId)) { + : args.approvalsUtil.byPatchSet(args.db, n.notes(), n.getPatchsetId())) { approvals.add(new PatchSetApproval(ps.getId(), a)); } // TODO(dborowitz): This doesn't copy labels in the notedb. We should @@ -203,10 +206,9 @@ public class CherryPick extends SubmitStrategy { gitRefUpdated.fire(n.change().getProject(), ru); newCommit.copyFrom(n); - newCommit.statusCode = CommitMergeStatus.CLEAN_PICK; - newCommit.control = - args.changeControlFactory.controlFor(n.change(), cherryPickUser); - newCommits.put(newCommit.patchsetId.getParentKey(), newCommit); + newCommit.setStatusCode(CommitMergeStatus.CLEAN_PICK); + newCommit.setControl(args.changeControlFactory.controlFor(n.change(), cherryPickUser)); + newCommits.put(newCommit.getPatchsetId().getParentKey(), newCommit); setRefLogIdent(submitAudit); return newCommit; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/FastForwardOnly.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/FastForwardOnly.java similarity index 86% rename from gerrit-server/src/main/java/com/google/gerrit/server/git/FastForwardOnly.java rename to gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/FastForwardOnly.java index 7adf4d5c28..0b18c0fc76 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/FastForwardOnly.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/FastForwardOnly.java @@ -12,9 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -package com.google.gerrit.server.git; +package com.google.gerrit.server.git.strategy; import com.google.gerrit.reviewdb.client.PatchSetApproval; +import com.google.gerrit.server.git.CodeReviewCommit; +import com.google.gerrit.server.git.CommitMergeStatus; +import com.google.gerrit.server.git.MergeException; import java.util.List; @@ -33,7 +36,7 @@ public class FastForwardOnly extends SubmitStrategy { while (!toMerge.isEmpty()) { final CodeReviewCommit n = toMerge.remove(0); - n.statusCode = CommitMergeStatus.NOT_FAST_FORWARD; + n.setStatusCode(CommitMergeStatus.NOT_FAST_FORWARD); } final PatchSetApproval submitApproval = diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeAlways.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/MergeAlways.java similarity index 92% rename from gerrit-server/src/main/java/com/google/gerrit/server/git/MergeAlways.java rename to gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/MergeAlways.java index 2992bd996d..2448c66195 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeAlways.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/MergeAlways.java @@ -12,9 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -package com.google.gerrit.server.git; +package com.google.gerrit.server.git.strategy; import com.google.gerrit.reviewdb.client.PatchSetApproval; +import com.google.gerrit.server.git.CodeReviewCommit; +import com.google.gerrit.server.git.MergeException; import java.util.List; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeIfNecessary.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/MergeIfNecessary.java similarity index 93% rename from gerrit-server/src/main/java/com/google/gerrit/server/git/MergeIfNecessary.java rename to gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/MergeIfNecessary.java index 3a326fc7f6..1cdc1b2eb2 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeIfNecessary.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/MergeIfNecessary.java @@ -12,9 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -package com.google.gerrit.server.git; +package com.google.gerrit.server.git.strategy; import com.google.gerrit.reviewdb.client.PatchSetApproval; +import com.google.gerrit.server.git.CodeReviewCommit; +import com.google.gerrit.server.git.MergeException; import java.util.List; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/RebaseIfNecessary.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/RebaseIfNecessary.java similarity index 88% rename from gerrit-server/src/main/java/com/google/gerrit/server/git/RebaseIfNecessary.java rename to gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/RebaseIfNecessary.java index a5b0034044..c31c92e13f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/RebaseIfNecessary.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/RebaseIfNecessary.java @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package com.google.gerrit.server.git; +package com.google.gerrit.server.git.strategy; import com.google.common.collect.Lists; import com.google.gerrit.reviewdb.client.Change; @@ -22,6 +22,10 @@ import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.change.PatchSetInserter.ValidatePolicy; import com.google.gerrit.server.changedetail.PathConflictException; import com.google.gerrit.server.changedetail.RebaseChange; +import com.google.gerrit.server.git.CodeReviewCommit; +import com.google.gerrit.server.git.CommitMergeStatus; +import com.google.gerrit.server.git.MergeException; +import com.google.gerrit.server.git.RebaseSorter; import com.google.gerrit.server.patch.PatchSetInfoFactory; import com.google.gerrit.server.project.InvalidChangeOperationException; import com.google.gerrit.server.project.NoSuchChangeException; @@ -66,19 +70,19 @@ public class RebaseIfNecessary extends SubmitStrategy { // create the branch. // newMergeTip = n; - n.statusCode = CommitMergeStatus.CLEAN_MERGE; + n.setStatusCode(CommitMergeStatus.CLEAN_MERGE); } else if (n.getParentCount() == 0) { // Refuse to merge a root commit into an existing branch, // we cannot obtain a delta for the rebase to apply. // - n.statusCode = CommitMergeStatus.CANNOT_REBASE_ROOT; + n.setStatusCode(CommitMergeStatus.CANNOT_REBASE_ROOT); } else if (n.getParentCount() == 1) { if (args.mergeUtil.canFastForward( args.mergeSorter, newMergeTip, args.rw, n)) { newMergeTip = n; - n.statusCode = CommitMergeStatus.CLEAN_MERGE; + n.setStatusCode(CommitMergeStatus.CLEAN_MERGE); } else { try { @@ -86,7 +90,7 @@ public class RebaseIfNecessary extends SubmitStrategy { args.mergeUtil.getSubmitter(n).getAccountId()); final PatchSet newPatchSet = rebaseChange.rebase(args.repo, args.rw, args.inserter, - n.patchsetId, n.change(), uploader, + n.getPatchsetId(), n.change(), uploader, newMergeTip, args.mergeUtil, committerIdent, false, false, ValidatePolicy.NONE); @@ -95,7 +99,7 @@ public class RebaseIfNecessary extends SubmitStrategy { // describes the change being submitted. List approvals = Lists.newArrayList(); for (PatchSetApproval a : args.approvalsUtil.byPatchSet( - args.db, n.notes(), n.patchsetId)) { + args.db, n.notes(), n.getPatchsetId())) { approvals.add(new PatchSetApproval(newPatchSet.getId(), a)); } args.db.patchSetApprovals().insert(approvals); @@ -106,14 +110,13 @@ public class RebaseIfNecessary extends SubmitStrategy { n.change().setCurrentPatchSet( patchSetInfoFactory.get(newMergeTip, newPatchSet.getId())); newMergeTip.copyFrom(n); - newMergeTip.control = - args.changeControlFactory.controlFor(n.change(), uploader); - newMergeTip.patchsetId = newPatchSet.getId(); - newMergeTip.statusCode = CommitMergeStatus.CLEAN_REBASE; + newMergeTip.setControl(args.changeControlFactory.controlFor(n.change(), uploader)); + newMergeTip.setPatchsetId(newPatchSet.getId()); + newMergeTip.setStatusCode(CommitMergeStatus.CLEAN_REBASE); newCommits.put(newPatchSet.getId().getParentKey(), newMergeTip); setRefLogIdent(args.mergeUtil.getSubmitter(n)); } catch (PathConflictException e) { - n.statusCode = CommitMergeStatus.PATH_CONFLICT; + n.setStatusCode(CommitMergeStatus.PATH_CONFLICT); } catch (NoSuchChangeException | OrmException | IOException | InvalidChangeOperationException e) { throw new MergeException("Cannot rebase " + n.name(), e); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategy.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategy.java similarity index 96% rename from gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategy.java rename to gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategy.java index 078fa9fb3c..a0cd5fd044 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategy.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategy.java @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package com.google.gerrit.server.git; +package com.google.gerrit.server.git.strategy; import com.google.gerrit.reviewdb.client.Branch; import com.google.gerrit.reviewdb.client.Change; @@ -21,6 +21,10 @@ import com.google.gerrit.reviewdb.client.Project.SubmitType; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.ApprovalsUtil; import com.google.gerrit.server.IdentifiedUser; +import com.google.gerrit.server.git.CodeReviewCommit; +import com.google.gerrit.server.git.MergeException; +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; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategyFactory.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyFactory.java similarity index 97% rename from gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategyFactory.java rename to gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyFactory.java index d818b5ce4c..d23cc821d8 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategyFactory.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyFactory.java @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package com.google.gerrit.server.git; +package com.google.gerrit.server.git.strategy; import com.google.gerrit.reviewdb.client.Branch; import com.google.gerrit.reviewdb.client.Project.SubmitType; @@ -22,6 +22,8 @@ import com.google.gerrit.server.GerritPersonIdent; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.changedetail.RebaseChange; import com.google.gerrit.server.extensions.events.GitReferenceUpdated; +import com.google.gerrit.server.git.MergeException; +import com.google.gerrit.server.git.MergeUtil; import com.google.gerrit.server.index.ChangeIndexer; import com.google.gerrit.server.patch.PatchSetInfoFactory; import com.google.gerrit.server.project.ChangeControl; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java index bf92867065..4a6381e0cc 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java @@ -35,7 +35,7 @@ import com.google.gerrit.server.config.AllProjectsName; import com.google.gerrit.server.config.GerritServerConfig; import com.google.gerrit.server.config.TrackingFooters; import com.google.gerrit.server.git.GitRepositoryManager; -import com.google.gerrit.server.git.SubmitStrategyFactory; +import com.google.gerrit.server.git.strategy.SubmitStrategyFactory; import com.google.gerrit.server.index.ChangeIndex; import com.google.gerrit.server.index.IndexCollection; import com.google.gerrit.server.index.Schema; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ConflictsPredicate.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ConflictsPredicate.java index 3c8b2c064e..ee6587dce0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ConflictsPredicate.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ConflictsPredicate.java @@ -22,7 +22,7 @@ import com.google.gerrit.reviewdb.client.Project.SubmitType; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.git.CodeReviewCommit; import com.google.gerrit.server.git.MergeException; -import com.google.gerrit.server.git.SubmitStrategy; +import com.google.gerrit.server.git.strategy.SubmitStrategy; import com.google.gerrit.server.project.NoSuchChangeException; import com.google.gerrit.server.project.NoSuchProjectException; import com.google.gerrit.server.project.ProjectCache;