MergeTip: Record ObjectIds instead of Strings
The values in the map of original commits to merge results are really object IDs. Use the actual ObjectId type instead of materializing them to strings, which hurts readability and performance. Change-Id: I2b59f19ff82def9119cf49e9ec162d73d9cd5ca7
This commit is contained in:
@@ -108,7 +108,7 @@ public class CherryPick extends SubmitStrategy {
|
||||
try {
|
||||
CodeReviewCommit merge =
|
||||
writeCherryPickCommit(mergeTip.getCurrentTip(), n);
|
||||
mergeTip.moveTipTo(merge, merge.getName());
|
||||
mergeTip.moveTipTo(merge, merge);
|
||||
newCommits.put(mergeTip.getCurrentTip().getPatchsetId()
|
||||
.getParentKey(), mergeTip.getCurrentTip());
|
||||
return mergeTip;
|
||||
@@ -130,12 +130,12 @@ public class CherryPick extends SubmitStrategy {
|
||||
// was configured.
|
||||
if (!args.mergeUtil.hasMissingDependencies(args.mergeSorter, n)) {
|
||||
if (args.rw.isMergedInto(mergeTip.getCurrentTip(), n)) {
|
||||
mergeTip.moveTipTo(n, n.getName());
|
||||
mergeTip.moveTipTo(n, n);
|
||||
} else {
|
||||
CodeReviewCommit result = args.mergeUtil.mergeOneCommit(
|
||||
args.serverIdent.get(), args.repo, args.rw, args.inserter,
|
||||
args.canMergeFlag, args.destBranch, mergeTip.getCurrentTip(), n);
|
||||
mergeTip.moveTipTo(result, n.getName());
|
||||
mergeTip.moveTipTo(result, n);
|
||||
}
|
||||
PatchSetApproval submitApproval = args.mergeUtil.markCleanMerges(args.rw,
|
||||
args.canMergeFlag, mergeTip.getCurrentTip(), args.alreadyAccepted);
|
||||
|
@@ -36,7 +36,7 @@ public class FastForwardOnly extends SubmitStrategy {
|
||||
args.mergeSorter, toMerge);
|
||||
final CodeReviewCommit newMergeTipCommit =
|
||||
args.mergeUtil.getFirstFastForward(branchTip, args.rw, sorted);
|
||||
mergeTip.moveTipTo(newMergeTipCommit, newMergeTipCommit.getName());
|
||||
mergeTip.moveTipTo(newMergeTipCommit, newMergeTipCommit);
|
||||
|
||||
while (!sorted.isEmpty()) {
|
||||
final CodeReviewCommit n = sorted.remove(0);
|
||||
|
@@ -46,7 +46,7 @@ public class MergeAlways extends SubmitStrategy {
|
||||
args.mergeUtil.mergeOneCommit(args.serverIdent.get(), args.repo, args.rw,
|
||||
args.inserter, args.canMergeFlag, args.destBranch, mergeTip.getCurrentTip(),
|
||||
mergedFrom);
|
||||
mergeTip.moveTipTo(newTip, mergedFrom.getName());
|
||||
mergeTip.moveTipTo(newTip, mergedFrom);
|
||||
}
|
||||
|
||||
final PatchSetApproval submitApproval =
|
||||
|
@@ -43,7 +43,7 @@ public class MergeIfNecessary extends SubmitStrategy {
|
||||
branchTip =
|
||||
args.mergeUtil.getFirstFastForward(branchTip, args.rw, sorted);
|
||||
}
|
||||
mergeTip.moveTipTo(branchTip, branchTip.getName());
|
||||
mergeTip.moveTipTo(branchTip, branchTip);
|
||||
|
||||
// For every other commit do a pair-wise merge.
|
||||
while (!sorted.isEmpty()) {
|
||||
@@ -52,7 +52,7 @@ public class MergeIfNecessary extends SubmitStrategy {
|
||||
args.mergeUtil.mergeOneCommit(args.serverIdent.get(), args.repo,
|
||||
args.rw, args.inserter, args.canMergeFlag, args.destBranch,
|
||||
branchTip, mergedFrom);
|
||||
mergeTip.moveTipTo(branchTip, mergedFrom.getName());
|
||||
mergeTip.moveTipTo(branchTip, mergedFrom);
|
||||
}
|
||||
|
||||
final PatchSetApproval submitApproval =
|
||||
|
@@ -68,7 +68,7 @@ public class RebaseIfNecessary extends SubmitStrategy {
|
||||
// create the branch.
|
||||
//
|
||||
n.setStatusCode(CommitMergeStatus.CLEAN_MERGE);
|
||||
mergeTip.moveTipTo(n, n.getName());
|
||||
mergeTip.moveTipTo(n, n);
|
||||
|
||||
} else if (n.getParentCount() == 0) {
|
||||
// Refuse to merge a root commit into an existing branch,
|
||||
@@ -80,7 +80,7 @@ public class RebaseIfNecessary extends SubmitStrategy {
|
||||
if (args.mergeUtil.canFastForward(args.mergeSorter,
|
||||
mergeTip.getCurrentTip(), args.rw, n)) {
|
||||
n.setStatusCode(CommitMergeStatus.CLEAN_MERGE);
|
||||
mergeTip.moveTipTo(n, n.getName());
|
||||
mergeTip.moveTipTo(n, n);
|
||||
|
||||
} else {
|
||||
try {
|
||||
@@ -101,9 +101,9 @@ public class RebaseIfNecessary extends SubmitStrategy {
|
||||
// rebaseChange.rebase() may already have copied some approvals,
|
||||
// use upsert, not insert, to avoid constraint violation on database
|
||||
args.db.patchSetApprovals().upsert(approvals);
|
||||
mergeTip.moveTipTo((CodeReviewCommit) args.rw.parseCommit(ObjectId
|
||||
.fromString(newPatchSet.getRevision().get())), newPatchSet
|
||||
.getRevision().get());
|
||||
CodeReviewCommit newTip = (CodeReviewCommit) args.rw.parseCommit(
|
||||
ObjectId.fromString(newPatchSet.getRevision().get()));
|
||||
mergeTip.moveTipTo(newTip, newTip);
|
||||
n.change().setCurrentPatchSet(
|
||||
patchSetInfoFactory.get(mergeTip.getCurrentTip(),
|
||||
newPatchSet.getId()));
|
||||
@@ -133,12 +133,12 @@ public class RebaseIfNecessary extends SubmitStrategy {
|
||||
//
|
||||
try {
|
||||
if (args.rw.isMergedInto(mergeTip.getCurrentTip(), n)) {
|
||||
mergeTip.moveTipTo(n, n.getName());
|
||||
mergeTip.moveTipTo(n, n);
|
||||
} else {
|
||||
mergeTip.moveTipTo(
|
||||
args.mergeUtil.mergeOneCommit(args.serverIdent.get(),
|
||||
args.repo, args.rw, args.inserter, args.canMergeFlag,
|
||||
args.destBranch, mergeTip.getCurrentTip(), n), n.getName());
|
||||
args.destBranch, mergeTip.getCurrentTip(), n), n);
|
||||
}
|
||||
PatchSetApproval submitApproval =
|
||||
args.mergeUtil.markCleanMerges(args.rw, args.canMergeFlag,
|
||||
|
Reference in New Issue
Block a user