##// END OF EJS Templates
wireproto: define frame to represent progress updates...
wireproto: define frame to represent progress updates Today, a long-running operation on a server may run without any sign of progress on the client. This can lead to the conclusion that the server has hung or the connection has dropped. In fact, connections can and do time out due to inactivity. And a long-running server operation can result in the connection dropping prematurely because no data is being sent! While we're inventing the new wire protocol, let's provide a mechanism for communicating progress on potentially expensive server-side events. We introduce a new frame type that conveys "progress" updates. This frame type essentially holds the data required to formulate a ``ui.progress()`` call. We only define the frame right now. Implementing it will be a bit of work since there is no analog to progress frames in the existing wire protocol. We'll need to teach the ui object to write to the wire protocol, etc. The use of a CBOR map may seem wasteful, as this will encode key names in every frame. This *is* wasteful. However, maps are extensible. And the intent is to always use compression via streams. Compression will make the overhead negligible since repeated strings will be mostly eliminated over the wire. Differential Revision: https://phab.mercurial-scm.org/D2902

File last commit:

r32608:85b97803 stable
r37307:b0041036 default
Show More
pager.txt
43 lines | 1.4 KiB | text/plain | TextLexer
Matt Harbison
help: attempt to clarify that pager usage is not output length based...
r32138 Some Mercurial commands can produce a lot of output, and Mercurial will
Augie Fackler
pager: move most help to a new help topic and deprecate extension
r31061 attempt to use a pager to make those commands more pleasant.
To set the pager that should be used, set the application variable::
[pager]
pager = less -FRX
Xavier Lepaul
help: clarify the choice of pager...
r32608 If no pager is set in the user or repository configuration, Mercurial uses the
environment variable $PAGER. If $PAGER is not set, pager.pager from the default
or system configuration is used. If none of these are set, a default pager will
be used, typically `less` on Unix and `more` on Windows.
Augie Fackler
pager: move most help to a new help topic and deprecate extension
r31061
Matt Harbison
help: document color/pager pitfalls on Windows...
r32137 .. container:: windows
On Windows, `more` is not color aware, so using it effectively disables color.
MSYS and Cygwin shells provide `less` as a pager, which can be configured to
support ANSI color codes. See :hg:`help config.color.pagermode` to configure
the color mode when invoking a pager.
Augie Fackler
pager: move most help to a new help topic and deprecate extension
r31061 You can disable the pager for certain commands by adding them to the
pager.ignore list::
[pager]
ignore = version, help, update
To ignore global commands like :hg:`version` or :hg:`help`, you have
to specify them in your user configuration file.
To control whether the pager is used at all for an individual command,
FUJIWARA Katsunori
help: apply bulk fixes for indentation and literal blocking issues...
r32085 you can use --pager=<value>:
Augie Fackler
pager: move most help to a new help topic and deprecate extension
r31061
- use as needed: `auto`.
- require the pager: `yes` or `on`.
- suppress the pager: `no` or `off` (any unrecognized value
FUJIWARA Katsunori
help: apply bulk fixes for indentation and literal blocking issues...
r32085 will also work).
Augie Fackler
pager: add a config knob to just globally turn off the pager
r31062
To globally turn off all attempts to use a pager, set::
Pierre-Yves David
pager: rename 'pager.enable' to 'ui.paginate'...
r32105 [ui]
paginate = never
Augie Fackler
pager: add a config knob to just globally turn off the pager
r31062
which will prevent the pager from running.