Mercurial > hg
view hgext/narrow/TODO.rst @ 40589:054d0fcba2c4
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.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 18 Jan 2015 18:49:59 +0900 |
parents | 1d09ba0d2ed3 |
children | ce0bc2952e2a |
line wrap: on
line source
Integration with the share extension needs improvement. Right now we've seen some odd bugs. Address commentary in manifest.excludedmanifestrevlog.add - specifically we should improve the collaboration with core so that add() never gets called on an excluded directory and we can improve the stand-in to raise a ProgrammingError. Reason more completely about rename-filtering logic in narrowfilelog. There could be some surprises lurking there. Formally document the narrowspec format. For bonus points, unify with the server-specified narrowspec format. narrowrepo.setnarrowpats() or narrowspec.save() need to make sure they're holding the wlock. The follinwg places do an unrestricted dirstate walk (including files outside the narrowspec). Some of them should perhaps not do that. * debugfileset * perfwalk * sparse (but restricted to sparse config) * largefiles