diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -14,6 +14,7 @@ from .node import ( bin, hex, nullid, + wdirid, ) from . import ( @@ -535,6 +536,9 @@ class changelog(revlog.revlog): # 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')