From patchwork Sat Dec 14 05:49:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D7668: status: make unresolved files always be in the morestatus structured output From: phabricator X-Patchwork-Id: 43835 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Sat, 14 Dec 2019 05:49:55 +0000 rdamazio created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY We don't know the status of those files, only that they're unresolved, so we don't output the status for those - any code parsing this will have to be tolerant to that. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D7668 AFFECTED FILES mercurial/cmdutil.py tests/test-update-branches.t CHANGE DETAILS To: rdamazio, #hg-reviewers Cc: mercurial-devel diff --git a/tests/test-update-branches.t b/tests/test-update-branches.t --- a/tests/test-update-branches.t +++ b/tests/test-update-branches.t @@ -591,6 +591,11 @@ "itemtype": "file", "path": "foo", "status": "M" + }, + { + "itemtype": "file", + "path": "a", + "unresolved": true } ] diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -809,6 +809,7 @@ if self.unfinishedmsg: fm.data(unfinishedmsg=self.unfinishedmsg) + # May also start new data items. self._formatconflicts(fm) if self.unfinishedmsg: @@ -838,6 +839,19 @@ ) % mergeliststr ) + + # If any paths with unresolved conflicts were not previously + # formatted, output them now. + for f in self.unresolvedpaths: + if f in self._formattedpaths: + # Already output. + continue + fm.startitem() + # We can't claim to know the status of the file - it may just + # have been in one of the states that were not requested for + # display, so it could be anything. + fm.data(itemtype=b'file', path=f, unresolved=True) + else: msg = _(b'No unresolved merge conflicts.')