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:
Dave Borowitz
2015-02-17 16:24:11 -08:00
parent d89a1cccae
commit e7f7f9530b
7 changed files with 27 additions and 26 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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 =

View File

@@ -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 =

View File

@@ -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,