From cb85f7be8b45572c5b35d794690aa92fe5339089 Mon Sep 17 00:00:00 2001 From: Thomas Wolf Date: Sat, 26 Oct 2019 19:46:31 +0200 Subject: [PATCH] TopoSortGenerator: simplify first-parent handling Change-Id: I74b40f1a2f81911c1d5ac5ae93b4a160fccf8f73 Signed-off-by: Thomas Wolf --- .../eclipse/jgit/revwalk/TopoSortGenerator.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/TopoSortGenerator.java b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/TopoSortGenerator.java index a2c9ef6da..e0325c29f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/TopoSortGenerator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/TopoSortGenerator.java @@ -80,11 +80,11 @@ class TopoSortGenerator extends Generator { if (c == null) { break; } - for (int i = 0; i < c.parents.length; i++) { - if (firstParent && i > 0) { + for (RevCommit p : c.parents) { + p.inDegree++; + if (firstParent) { break; } - c.parents[i].inDegree++; } pending.add(c); } @@ -119,11 +119,7 @@ class TopoSortGenerator extends Generator { // All of our children have already produced, // so it is OK for us to produce now as well. // - for (int i = 0; i < c.parents.length; i++) { - if (firstParent && i > 0) { - break; - } - RevCommit p = c.parents[i]; + for (RevCommit p : c.parents) { if (--p.inDegree == 0 && (p.flags & TOPO_DELAY) != 0) { // This parent tried to come before us, but we are // his last child. unpop the parent so it goes right @@ -132,6 +128,9 @@ class TopoSortGenerator extends Generator { p.flags &= ~TOPO_DELAY; pending.unpop(p); } + if (firstParent) { + break; + } } return c; }