diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -2187,8 +2187,13 @@ # read in unfinished revisions if cmdstate: cmdstate.load() - nodes = cmdstate['nodes'] - revs = [repo[node].rev() for node in nodes] + if cmdstate['version'] < 2: + nodes = cmdstate['nodes'] + revs = [repo[node].rev() for node in nodes] + else: + # state-file is written by a newer mercurial than what we are + # using + raise error.Abort(_("unable to read to read the state file")) else: cmdutil.wrongtooltocontinue(repo, _('graft')) else: @@ -2315,7 +2320,7 @@ if stats.unresolvedcount > 0: # write out state for --continue nodelines = [repo[rev].hex() for rev in revs[pos:]] - cmdstate.addopts({'nodes': nodelines}) + cmdstate.addopts({'version': 1, 'nodes': nodelines}) cmdstate.save() extra = '' if opts.get('user'): @@ -2348,7 +2353,7 @@ @statemod.readoldstatefile('graftstate') def _oldgraftstate(fp): nodes = fp.read().splitlines() - return {'nodes': nodes} + return {'version': 0, 'nodes': nodes} @command('grep', [('0', 'print0', None, _('end fields with NUL')),