PlotCommitList: Close plot lanes at root commits
Bug: 443006 Change-Id: I40b1eb044fa2d9e6c5d4b956c17e32ca6c1bd39f Signed-off-by: Konrad Kügler <swamblumat-eclipsebugs@yahoo.de>
This commit is contained in:
parent
3885ce2a94
commit
9ac59efbbd
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -128,11 +128,8 @@ protected void enter(final int index, final PlotCommit<L> currCommit) {
|
|||
final int nChildren = currCommit.getChildCount();
|
||||
if (nChildren == 0) {
|
||||
currCommit.lane = nextFreeLane();
|
||||
continueActiveLanes(currCommit);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nChildren == 1 && currCommit.children[0].getParentCount() < 2) {
|
||||
} else if (nChildren == 1
|
||||
&& currCommit.children[0].getParentCount() < 2) {
|
||||
// Only one child, child has only us as their parent.
|
||||
// Stay in the same lane as the child.
|
||||
|
||||
|
@ -195,7 +192,10 @@ protected void enter(final int index, final PlotCommit<L> currCommit) {
|
|||
closeLane(c.lane);
|
||||
}
|
||||
}
|
||||
|
||||
continueActiveLanes(currCommit);
|
||||
if (currCommit.getParentCount() == 0)
|
||||
closeLane(currCommit.lane);
|
||||
}
|
||||
|
||||
private void continueActiveLanes(final PlotCommit currCommit) {
|
||||
|
|
Loading…
Reference in New Issue