--- a/mercurial/cmdutil.py Wed Dec 18 23:41:36 2019 -0800
+++ b/mercurial/cmdutil.py Wed Dec 18 23:43:21 2019 -0800
@@ -818,20 +818,22 @@
fm.data(unresolved=True)
def formatfooter(self, fm):
- fm.startitem()
- fm.data(
- itemtype=b'morestatus',
- unfinished=self.unfinishedop,
- unfinishedmsg=self.unfinishedmsg,
- )
-
- statemsg = (
- _(b'The repository is in an unfinished *%s* state.')
- % self.unfinishedop
- )
- fm.plain(b'%s\n' % _commentlines(statemsg), label=self._label)
+ if self.unfinishedop or self.unfinishedmsg:
+ fm.startitem()
+ fm.data(itemtype=b'morestatus')
+
+ if self.unfinishedop:
+ fm.data(unfinished=self.unfinishedop)
+ statemsg = (
+ _(b'The repository is in an unfinished *%s* state.')
+ % self.unfinishedop
+ )
+ fm.plain(b'%s\n' % _commentlines(statemsg), label=self._label)
+ if self.unfinishedmsg:
+ fm.data(unfinishedmsg=self.unfinishedmsg)
self._formatconflicts(fm)
+
if self.unfinishedmsg:
fm.plain(
b'%s\n' % _commentlines(self.unfinishedmsg), label=self._label
@@ -870,12 +872,12 @@
statetuple = statemod.getrepostate(repo)
mergestate = mergemod.mergestate.read(repo)
activemerge = mergestate.active()
- if not statetuple:
+ if not statetuple and not activemerge:
return None
- unfinishedop, unfinishedmsg = statetuple
- mergestate = mergemod.mergestate.read(repo)
- unresolved = None
+ unfinishedop = unfinishedmsg = unresolved = None
+ if statetuple:
+ unfinishedop, unfinishedmsg = statetuple
if activemerge:
unresolved = sorted(mergestate.unresolved())
return morestatus(