diff --git a/mercurial/graphmod.py b/mercurial/graphmod.py --- a/mercurial/graphmod.py +++ b/mercurial/graphmod.py @@ -281,7 +281,7 @@ line.extend(echars[-(remainder * 2):]) return line -def _drawendinglines(lines, extra, edgemap, seen): +def _drawendinglines(lines, extra, edgemap, seen, state): """Draw ending lines for missing parent edges None indicates an edge that ends at between this node and the next @@ -298,7 +298,8 @@ while edgechars and edgechars[-1] is None: edgechars.pop() shift_size = max((edgechars.count(None) * 2) - 1, 0) - while len(lines) < 3 + shift_size: + minlines = 3 if not state['graphshorten'] else 1 + while len(lines) < minlines + shift_size: lines.append(extra[:]) if shift_size: @@ -319,7 +320,7 @@ positions[i] = max(pos, targets[i]) line[pos] = '/' if pos > targets[i] else extra[toshift[i]] - map = {1: '|', 2: '~'} + map = {1: '|', 2: '~'} if not state['graphshorten'] else {} for i, line in enumerate(lines): if None not in line: continue @@ -463,7 +464,7 @@ while len(lines) < len(text): lines.append(extra_interline[:]) - _drawendinglines(lines, extra_interline, edgemap, seen) + _drawendinglines(lines, extra_interline, edgemap, seen, state) while len(text) < len(lines): text.append("")