commandserver: attach prompt default and choices to message
These attributes are important to provide a GUI prompt to user.
test-commandserver: clean up quoting and location of dbgui extension
This helps embedding '$' in the script.
ui: extract helpers to write message with type or label
This provides a 'type' attribute to command-server clients, which seems
more solid than relying on 'ui.<type>' labels. In future patches,
type='progress' will be added to send raw progress information.
commandserver: add experimental option to use separate message channel
This is loosely based on the idea of the TortoiseHg's pipeui extension,
which attaches ui.label to message text so the command-server client can
capture prompt text, for example.
https://bitbucket.org/tortoisehg/thg/src/4.7.2/tortoisehg/util/pipeui.py
I was thinking that this functionality could be generalized to templating,
but changed mind as doing template stuff would be unnecessarily complex.
It's merely a status message, a simple serialization option should suffice.
Since this slightly changes the command-server protocol, it's gated by a
config knob. If the config is enabled, and if it's supported by the server,
"message-encoding: <name>" is advertised so the client can stop parsing
'o'/'e' channel data and read encoded messages from the 'm' channel. As we
might add new message encodings in future releases, client can specify a list
of encoding names in preferred order.
This patch includes 'cbor' encoding as example. Perhaps, 'json' should be
supported as well.
commandserver: fix reference before assignment error in pipeservice cleanup
Spotted by the next patch.
dispatch: pass around ui.fmsg channel
This will be set by the command server. See the next patch.
test-subrepo: document why share magically works even if subrepos are missing
I was confused how it's working while reviewing
fb490d798be0, "share: reload
repo after adjusting it in postshare()."
packaging: add Fedora 29 target
Differential Revision: https://phab.mercurial-scm.org/D5254
test-narrow-clone-stream: include no usefncache case which is broken
Since
9aeb9e2d28a7, encoded filenames are filtered by the narrow matcher,
which is clearly wrong.