D7668: status: make unresolved files always be in the morestatus structured output
rdamazio (Rodrigo Damazio Bovendorp)
phabricator at mercurial-scm.org
Sat Dec 14 05:49:55 UTC 2019
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
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.')
To: rdamazio, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list