comparison contrib/hgclient.py @ 28836:3f45488d70df

test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
author timeless <timeless@mozdev.org>
date Wed, 06 Apr 2016 20:34:34 +0000
parents 897a4bbd578b
children 73c2b9c9cd3c
comparison
equal deleted inserted replaced
28835:68a946e83188 28836:3f45488d70df
1 # A minimal client for Mercurial's command server 1 # A minimal client for Mercurial's command server
2 2
3 from __future__ import absolute_import, print_function 3 from __future__ import absolute_import, print_function
4 import cStringIO
5 import os 4 import os
6 import signal 5 import signal
7 import socket 6 import socket
8 import struct 7 import struct
9 import subprocess 8 import subprocess
10 import sys 9 import sys
11 import time 10 import time
11
12 try:
13 import cStringIO as io
14 stringio = io.StringIO
15 except ImportError:
16 import io
17 stringio = io.StringIO
12 18
13 def connectpipe(path=None): 19 def connectpipe(path=None):
14 cmdline = ['hg', 'serve', '--cmdserver', 'pipe'] 20 cmdline = ['hg', 'serve', '--cmdserver', 'pipe']
15 if path: 21 if path:
16 cmdline += ['-R', path] 22 cmdline += ['-R', path]
81 sys.stdout.flush() 87 sys.stdout.flush()
82 server.stdin.write('runcommand\n') 88 server.stdin.write('runcommand\n')
83 writeblock(server, '\0'.join(args)) 89 writeblock(server, '\0'.join(args))
84 90
85 if not input: 91 if not input:
86 input = cStringIO.StringIO() 92 input = stringio()
87 93
88 while True: 94 while True:
89 ch, data = readchannel(server) 95 ch, data = readchannel(server)
90 if ch == 'o': 96 if ch == 'o':
91 output.write(outfilter(data)) 97 output.write(outfilter(data))