PlotCommitList: Close plot lanes at root commits

Bug: 443006
Change-Id: I40b1eb044fa2d9e6c5d4b956c17e32ca6c1bd39f
Signed-off-by: Konrad Kügler <swamblumat-eclipsebugs@yahoo.de>
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/revplot/PlotCommitListTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revplot/PlotCommitListTest.java
index 0f582c4..ecc119b 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/revplot/PlotCommitListTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revplot/PlotCommitListTest.java
@@ -668,4 +668,42 @@ public void testDanglingCommitShouldContinueLane() throws Exception {
 				new PlotLane[] { laneB }, test.current.passingLanes);
 		test.noMoreCommits();
 	}
+
+	@Test
+	public void testTwoRoots1() throws Exception {
+		final RevCommit a = commit();
+		final RevCommit b = commit();
+
+		PlotWalk pw = new PlotWalk(db);
+		pw.markStart(pw.lookupCommit(a));
+		pw.markStart(pw.lookupCommit(b));
+		PlotCommitList<PlotLane> pcl = new PlotCommitList<PlotLane>();
+		pcl.source(pw);
+		pcl.fillTo(Integer.MAX_VALUE);
+
+		CommitListAssert test = new CommitListAssert(pcl);
+		test.commit(b).lanePos(0);
+		test.commit(a).lanePos(0);
+		test.noMoreCommits();
+	}
+
+	@Test
+	public void testTwoRoots2() throws Exception {
+		final RevCommit a = commit();
+		final RevCommit b1 = commit();
+		final RevCommit b2 = commit(b1);
+
+		PlotWalk pw = new PlotWalk(db);
+		pw.markStart(pw.lookupCommit(a));
+		pw.markStart(pw.lookupCommit(b2));
+		PlotCommitList<PlotLane> pcl = new PlotCommitList<PlotLane>();
+		pcl.source(pw);
+		pcl.fillTo(Integer.MAX_VALUE);
+
+		CommitListAssert test = new CommitListAssert(pcl);
+		test.commit(b2).lanePos(0);
+		test.commit(b1).lanePos(0);
+		test.commit(a).lanePos(0);
+		test.noMoreCommits();
+	}
 }