diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -14,7 +14,6 @@ bin, hex, nullid, - wdirid, ) from . import ( @@ -536,9 +535,6 @@ # overlay over the standard revlog._addrevision to track the new # revision on the transaction. rev = len(self) - if node == wdirid: # nullid is checked in super method - raise error.RevlogError(_("%s: attempt to add wdir revision") % - (self.indexfile)) node = super(changelog, self)._addrevision(node, rawtext, transaction, *args, **kwargs) revs = transaction.changes.get('revs') diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -1697,6 +1697,10 @@ if node == nullid: raise RevlogError(_("%s: attempt to add null revision") % (self.indexfile)) + if node == wdirid: + raise RevlogError(_("%s: attempt to add wdir revision") % + (self.indexfile)) + btext = [rawtext] def buildtext(): if btext[0] is not None: