D7668: status: make unresolved files always be in the morestatus structured output
rdamazio (Rodrigo Damazio Bovendorp)
phabricator at mercurial-scm.org
Thu Dec 19 12:56:59 EST 2019
Closed by commit rHG07ebb567e8bb: status: make unresolved files always be in the morestatus structured output (authored by rdamazio).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D7668?vs=18877&id=18881
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D7668/new/
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
@@ -811,9 +811,11 @@
unfinishedmsg = attr.ib()
activemerge = attr.ib()
unresolvedpaths = attr.ib()
+ _formattedpaths = attr.ib(init=False, default=set())
_label = b'status.morestatus'
def formatfile(self, path, fm):
+ self._formattedpaths.add(path)
if self.activemerge and path in self.unresolvedpaths:
fm.data(unresolved=True)
@@ -832,6 +834,7 @@
if self.unfinishedmsg:
fm.data(unfinishedmsg=self.unfinishedmsg)
+ # May also start new data items.
self._formatconflicts(fm)
if self.unfinishedmsg:
@@ -861,6 +864,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, pulkit
Cc: pulkit, mercurial-devel
More information about the Mercurial-devel
mailing list