diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -31,7 +31,7 @@ def _revancestors(repo, revs, followfirs revsnode = revqueue.popleft() heapq.heappush(h, -revsnode) - seen = set([node.nullrev]) + seen = set() while h: current = -heapq.heappop(h) if current not in seen: diff --git a/tests/test-log.t b/tests/test-log.t --- a/tests/test-log.t +++ b/tests/test-log.t @@ -635,6 +635,20 @@ log -f -r 1:tip +log -f -r null + + $ hg log -f -r null + changeset: -1:000000000000 + user: + date: Thu Jan 01 00:00:00 1970 +0000 + + $ hg log -f -r null -G + o changeset: -1:000000000000 + user: + date: Thu Jan 01 00:00:00 1970 +0000 + + + log -r . with two parents $ hg up -C 3 diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -477,6 +477,10 @@ Test explicit numeric revision hg: parse error: rev expects a number [255] +Test null revision + $ log 'ancestors(null)' + -1 + $ log 'outgoing()' 8 9