--- a/mercurial/patch.py Mon Oct 27 21:50:16 2008 +0100
+++ b/mercurial/patch.py Tue Oct 28 00:03:28 2008 +0100
@@ -1322,22 +1322,10 @@
def diffstat(patchlines):
if not util.find_exe('diffstat'):
return
- fd, name = tempfile.mkstemp(prefix="hg-patchbomb-", suffix=".txt")
- try:
- p = util.Popen3('diffstat -p1 -w79 2>/dev/null > ' + name)
- try:
- for line in patchlines:
- p.tochild.write(line + "\n")
- p.tochild.close()
- if p.wait(): return
- fp = os.fdopen(fd, 'r')
- stat = []
- for line in fp: stat.append(line.lstrip())
- last = stat.pop()
- stat.insert(0, last)
- stat = ''.join(stat)
- return stat
- except: raise
- finally:
- try: os.unlink(name)
- except: pass
+ output = util.filter('\n'.join(patchlines),
+ 'diffstat -p1 -w79 2>%s' % util.nulldev)
+ stat = [l.lstrip() for l in output.splitlines(True)]
+ last = stat.pop()
+ stat.insert(0, last)
+ stat = ''.join(stat)
+ return stat
--- a/tests/test-http-proxy Mon Oct 27 21:50:16 2008 +0100
+++ b/tests/test-http-proxy Tue Oct 28 00:03:28 2008 +0100
@@ -41,5 +41,5 @@
echo %% do not use the proxy if it is in the no list
http_proxy=localhost:$HGPORT1 hg clone --config http_proxy.no=localhost http://localhost:$HGPORT/ g
-cat proxy.log | sed -e 's/^.*\] /XXX /'
+cat proxy.log | sed -e 's/^.*\] /XXX /' -e 's/:[0-9][0-9]*/:/'
exit 0
--- a/tests/test-http-proxy.out Mon Oct 27 21:50:16 2008 +0100
+++ b/tests/test-http-proxy.out Tue Oct 28 00:03:28 2008 +0100
@@ -57,18 +57,18 @@
added 1 changesets with 1 changes to 1 files
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-XXX "GET http://localhost:20059/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=capabilities HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=stream_out HTTP/1.1" - -
-XXX "GET http://localhost:20059/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=heads HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - -
-XXX "GET http://localhost:20059/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=heads HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - -
-XXX "GET http://localhost:20059/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=heads HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - -
-XXX "GET http://localhost:20059/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=heads HTTP/1.1" - -
-XXX "GET http://localhost:20059/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - -
+XXX "GET http://localhost:/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=capabilities HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=stream_out HTTP/1.1" - -
+XXX "GET http://localhost:/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=heads HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - -
+XXX "GET http://localhost:/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=heads HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - -
+XXX "GET http://localhost:/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=heads HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - -
+XXX "GET http://localhost:/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=heads HTTP/1.1" - -
+XXX "GET http://localhost:/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - -
--- a/tests/test-mq-qimport Mon Oct 27 21:50:16 2008 +0100
+++ b/tests/test-mq-qimport Tue Oct 28 00:03:28 2008 +0100
@@ -33,7 +33,14 @@
hg diff > $HGTMP/url.diff
hg revert --no-backup foo
rm foo
-hg qimport file://$HGTMP/url.diff
+# Under unix: file:///foobar/blah
+# Under windows: file:///c:/foobar/blah
+patchurl=`echo $HGTMP/url.diff | tr '\\' /`
+expr $patchurl : "\/" > /dev/null
+if [ $? -ne 0 ]; then
+ patchurl='/'$patchurl
+fi
+hg qimport file://$patchurl
hg qun
echo % import patch that already exists
--- a/tests/test-patchbomb Mon Oct 27 21:50:16 2008 +0100
+++ b/tests/test-patchbomb Tue Oct 28 00:03:28 2008 +0100
@@ -45,26 +45,26 @@
fixheaders
echo % utf-8 patch
-python -c 'fp = open("utf", "w"); fp.write("h\xC3\xB6mma!\n"); fp.close();'
+python -c 'fp = open("utf", "wb"); fp.write("h\xC3\xB6mma!\n"); fp.close();'
hg commit -A -d '4 0' -m 'charset=utf-8; content-transfer-encoding: base64'
echo % no mime encoding for email --test
-hg email --date '1970-1-1 0:4' -f quux -t foo -r tip -n | fixheaders > mailtest
+hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | fixheaders > mailtest
echo % md5sum of 8-bit output
$TESTDIR/md5sum.py mailtest
rm mailtest
echo % mime encoded mbox
-hg email --date '1970-1-1 0:4' -f quux -t foo -r tip -m mbox
+hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
cat mbox | fixheaders
rm mbox
echo % iso-8859-1 patch
-python -c 'fp = open("isolatin", "w"); fp.write("h\xF6mma!\n"); fp.close();'
+python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();'
hg commit -A -d '5 0' -m 'charset=us-ascii; content-transfer-encoding: 8bit'
echo % fake ascii mbox
-hg email --date '1970-1-1 0:5' -f quux -t foo -r tip -m mbox
+hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox
fixheaders < mbox > mboxfix
echo % md5sum of 8-bit output
$TESTDIR/md5sum.py mboxfix
--- a/tests/test-patchbomb.out Mon Oct 27 21:50:16 2008 +0100
+++ b/tests/test-patchbomb.out Tue Oct 28 00:03:28 2008 +0100
@@ -150,7 +150,7 @@
adding utf
% no mime encoding for email --test
% md5sum of 8-bit output
-a6a3c6b9b6009cea23871a7727a282ab mailtest
+ad877786716d09fd7843cf0ed5e3d2a8 mailtest
% mime encoded mbox
This patch series consists of 1 patches.
@@ -166,6 +166,7 @@
Date: Thu, 01 Jan 1970 00:04:00 +0000
From: quux
To: foo
+Cc: bar
IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIHRlc3QKIyBEYXRlIDQgMAojIE5vZGUgSUQgYzNj
OWUzN2RiOWY0ZmU0ODgyY2RhMzliYWY0MmZlZDZiYWQ4YjE1YQojIFBhcmVudCAgZmYyYzlmYTIw
@@ -187,4 +188,4 @@
Writing [PATCH] charset=us-ascii; content-transfer-encoding: 8bit ...
% md5sum of 8-bit output
-45cb4b77e02f39eb91955f5c95913d66 mboxfix
+90fae277a4a85255e8262174fcefb59f mboxfix