diff -r d240ae897ba6 -r 676c3838d217 mercurial/commands.py --- a/mercurial/commands.py Tue Nov 17 13:56:46 2015 -0800 +++ b/mercurial/commands.py Tue Nov 17 14:20:55 2015 -0800 @@ -6208,8 +6208,15 @@ if d in status.added: status.added.remove(d) - ms = mergemod.mergestate(repo) - unresolved = [f for f in ms if ms[f] == 'u'] + try: + ms = mergemod.mergestate.read(repo) + except error.UnsupportedMergeRecords as e: + s = ' '.join(e.recordtypes) + ui.warn( + _('warning: merge state has unsupported record types: %s\n') % s) + unresolved = 0 + else: + unresolved = [f for f in ms if ms[f] == 'u'] subs = [s for s in ctx.substate if ctx.sub(s).dirty()]