D6843: ui: option to preserve the progress bar
joerg.sonnenberger (Joerg Sonnenberger)
phabricator at mercurial-scm.org
Wed Oct 16 17:05:17 EDT 2019
Closed by commit rHGcf25e525b7ae: ui: option to preserve the progress bar (authored by joerg.sonnenberger).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6843?vs=17154&id=17261
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D6843/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D6843
AFFECTED FILES
mercurial/ui.py
CHANGE DETAILS
diff --git a/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -1072,6 +1072,13 @@
Label names take the form of "topic.type". For example, ui.debug()
issues a label of "ui.debug".
+ Progress reports via stderr are normally cleared before writing as
+ stdout and stderr go to the same terminal. This can be skipped with
+ the optional keyword argument "keepprogressbar". The progress bar
+ will continue to occupy a partial line on stderr in that case.
+ This functionality is intended when Mercurial acts as data source
+ in a pipe.
+
When labeling output for a specific command, a label of
"cmdname.type" is recommended. For example, status issues
a label of "status.modified" for modified files.
@@ -1087,8 +1094,9 @@
self._buffers[-1].extend(args)
return
- # inliend _writenobuf() for speed
- self._progclear()
+ # inlined _writenobuf() for speed
+ if not opts.get(r'keepprogressbar', False):
+ self._progclear()
msg = b''.join(args)
# opencode timeblockedsection because this is a critical path
@@ -1126,7 +1134,8 @@
def _writenobuf(self, dest, *args, **opts):
# update write() as well if you touch this code
- self._progclear()
+ if not opts.get(r'keepprogressbar', False):
+ self._progclear()
msg = b''.join(args)
# opencode timeblockedsection because this is a critical path
To: joerg.sonnenberger, #hg-reviewers, indygreg
Cc: indygreg, durin42, mercurial-devel
More information about the Mercurial-devel
mailing list