Jun Wu <quark@fb.com> [Thu, 17 Mar 2016 18:27:48 +0000] rev 28586
chgserver: use old ui.system if fout is not stdout or needs to be captured
Before this patch, chgui will override the system method, forwarding every
process execution to the client so sessions and process groups can work as
expected. But the chg client will just use stdout, if ui.fout is not stdout or
if the output is set to be captured to safe._buffers, the client will not
behave correctly.
This can happen especially with code prepending "remote:". For example, bundle2
uses ui.pushbuffer, and sshpeer sets fout to ferr. We may have trouble with
interactive commands in the fout set to ferr case but if it really bites us, we
can always send file descriptors to the client.
This patch adds a check to detect the above situations and fallback to the old
ui.system if so. It will make chg happy with test-bundle2-exchange.t,
test-phases-exchange.t, test-ssh-bundle1.t and test-ssh.t.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 12 Mar 2016 14:04:57 -0800] rev 28585
node: use byte literals to construct nullid and wdirid
Python 3's hex() insists on operating on bytes. This patch gives
it what it wants.
'' and b'' in Python 2 are equivalent, so this has no impact on
Python 2.