summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2009-03-13 09:30:38 -0700
committerShawn O. Pearce <sop@google.com>2009-03-13 09:30:38 -0700
commit46604db7ec7b213351fe21398d9a594edc5cef64 (patch)
treed2407b970ba2832e559e8c5468eadbe7d27b88b9
parent60d80a635ce922b3ecc7e9a0cff4f06f880017c2 (diff)
Use a TOPO sort when processing commits in the merge queue
This ensures we always see all children before a parent, resulting in a much less confusing graph when we linearize it for processing. Signed-off-by: Shawn O. Pearce <sop@google.com>
-rw-r--r--src/main/java/com/google/gerrit/git/MergeOp.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main/java/com/google/gerrit/git/MergeOp.java b/src/main/java/com/google/gerrit/git/MergeOp.java
index 923ac396cc..352730d206 100644
--- a/src/main/java/com/google/gerrit/git/MergeOp.java
+++ b/src/main/java/com/google/gerrit/git/MergeOp.java
@@ -133,6 +133,7 @@ public class MergeOp {
return new CodeReviewCommit(id);
}
};
+ rw.sort(RevSort.TOPO);
}
private void openBranch() throws MergeException {
@@ -332,7 +333,8 @@ public class MergeOp {
private void markCleanMerges() throws MergeException {
try {
rw.reset();
- rw.sort(RevSort.REVERSE);
+ rw.sort(RevSort.TOPO);
+ rw.sort(RevSort.REVERSE, true);
rw.markStart(mergeTip);
if (branchTip != null) {
rw.markUninteresting(branchTip);