view contrib/plan9/mkfile @ 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 f9262456fb01
children
line wrap: on
line source

APE=/sys/src/ape
<$APE/config

PYTHON=python
PYTHONBIN=/rc/bin
SH=ape/psh

PURE=--pure
ROOT=../..

# This is slightly underhanded; Plan 9 does not support GNU gettext nor
# does it support dynamically loaded extension modules. We work around
# this by calling build_py and build_scripts directly; this avoids
# additional platform hacks in setup.py.
build:VQ:
	@{
		cd $ROOT
		$SH -c '$PYTHON setup.py $PURE build_py build_scripts'
	}

clean:VQ:
	@{
		cd $ROOT
		$SH -c '$PYTHON setup.py $PURE clean --all'
	}

install:VQ:	build
	@{
		cd $ROOT
		$SH -c '$PYTHON setup.py $PURE install \
			--install-scripts $PYTHONBIN \
			--skip-build \
			--force'
	}
	mkdir -p /lib/mercurial/hgrc.d
	dircp hgrc.d /lib/mercurial/hgrc.d/
	cp 9diff /rc/bin/