Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-archive @ 2435:ff2bac730b99
http client: support persistent connections.
uses keepalive module from urlgrabber package. tested against "hg serve",
cgi server, and through http proxy. used ethereal to verify that only
one tcp connection used during entire "hg pull" sequence.
if server supports keepalive, this makes latency of "hg pull" much lower.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Thu, 15 Jun 2006 12:57:59 -0700 |
parents | 09d3eebdd9b2 |
children | 0f7e4a39d9af |
line wrap: on
line source
#!/bin/sh mkdir test cd test hg init echo foo>foo hg addremove hg commit -m 1 echo bar>bar hg addremove hg commit -m 2 mkdir baz echo bletch>baz/bletch hg addremove hg commit -m 3 echo "[web]" >> .hg/hgrc echo "name = test-archive" >> .hg/hgrc echo "allowzip = true" >> .hg/hgrc echo "allowgz = true" >> .hg/hgrc echo "allowbz2 = true" >> .hg/hgrc hg serve -p 20059 -d --pid-file=hg.pid TIP=`hg id -v | cut -f1 -d' '` QTIP=`hg id -q` cat > getarchive.py <<EOF import sys, urllib2 node, archive = sys.argv[1:] f = urllib2.urlopen('http://127.0.0.1:20059/?cmd=archive;node=%s;type=%s' % (node, archive)) sys.stdout.write(f.read()) EOF http_proxy= python getarchive.py "$TIP" gz | gunzip | tar tf - | sed "s/$QTIP/TIP/" http_proxy= python getarchive.py "$TIP" bz2 | bunzip2 | tar tf - | sed "s/$QTIP/TIP/" http_proxy= python getarchive.py "$TIP" zip > archive.zip unzip -t archive.zip | sed "s/$QTIP/TIP/" kill `cat hg.pid` sleep 1 # wait for server to scream and die hg archive -t tar test.tar tar tf test.tar hg archive -t tbz2 -X baz test.tar.bz2 bunzip2 -dc test.tar.bz2 | tar tf - hg archive -t tgz -p %b-%h test-%h.tar.gz gzip -dc test-$QTIP.tar.gz | tar tf - | sed "s/$QTIP/TIP/" hg archive -t zip -p /illegal test.zip hg archive -t zip -p very/../bad test.zip hg archive -t zip -r 2 test.zip unzip -t test.zip