Mercurial > evolve
changeset 1961:d9c7fced94fc
stack: prevent crash when topic is rooted on nullid
We exclude null from displayed base. This was causing a crash when trying to
display its description (we'll still have to handle the empty description case,
but it is now less urgent).
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 04 Apr 2016 00:28:03 -0700 |
parents | a9a1abc7dd75 |
children | c00815786813 |
files | hgext3rd/topic/stack.py tests/test-topic-stack.t |
diffstat | 2 files changed, 14 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/topic/stack.py Mon Apr 04 00:22:20 2016 -0700 +++ b/hgext3rd/topic/stack.py Mon Apr 04 00:28:03 2016 -0700 @@ -6,6 +6,7 @@ from mercurial.i18n import _ from mercurial import ( error, + node, obsolete, ) @@ -27,7 +28,7 @@ p1 = ctx.p1() if p1.obsolete(): p1 = repo[_singlesuccessor(repo, p1)] - if p1.rev() != prev: + if p1.rev() != prev and p1.node() != node.nullid: entries.append((None, p1)) entries.append((idx, ctx)) prev = r
--- a/tests/test-topic-stack.t Mon Apr 04 00:22:20 2016 -0700 +++ b/tests/test-topic-stack.t Mon Apr 04 00:28:03 2016 -0700 @@ -46,7 +46,19 @@ o 0 default {other} draft c_a +Check that topic without any parent does not crash --list +--------------------------------------------------------- + + $ hg up other + switching to topic other + 0 files updated, 0 files merged, 4 files removed, 0 files unresolved + $ hg topic --list + t2@ c_b (current) + t1: c_a $ hg phase --public 'topic("other")' + $ hg up foo + switching to topic foo + 4 files updated, 0 files merged, 0 files removed, 0 files unresolved Simple test -----------