Mercurial > hg
view tests/test-bad-pull.t @ 11988:8380ed691df8
util: add an interpolate() function to for replacing multiple values
util.interpolate can be used to replace multiple items in a string all at once
(and optionally apply a function to the replacement), without worrying about
recursing:
>>> import util
>>> s = '$foo, $spam'
>>> util.interpolate(r'\$', { 'foo': 'bar', 'spam': 'eggs' }, s)
'bar, eggs'
>>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s)
'spam, foo'
>>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s, lambda s: s.upper())
'SPAM, FOO'
The patch also changes filemerge.py to use this new function.
author | Steve Losh <steve@stevelosh.com> |
---|---|
date | Wed, 18 Aug 2010 18:18:26 -0400 |
parents | f48178034569 |
children | 4134686b83e1 |
line wrap: on
line source
$ hg clone http://localhost:$HGPORT/ copy abort: error: Connection refused $ echo $? 0 $ test -d copy || echo copy: No such file or directory copy: No such file or directory $ cat > dumb.py <<EOF > import BaseHTTPServer, SimpleHTTPServer, os, signal > def run(server_class=BaseHTTPServer.HTTPServer, > handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler): > server_address = ('localhost', int(os.environ['HGPORT'])) > httpd = server_class(server_address, handler_class) > httpd.serve_forever() > signal.signal(signal.SIGTERM, lambda x: sys.exit(0)) > run() > EOF $ python dumb.py 2>/dev/null & $ echo $! >> $DAEMON_PIDS give the server some time to start running $ sleep 1 $ hg clone http://localhost:$HGPORT/foo copy2 2>&1 abort: HTTP Error 404: .* $ echo $? 0 $ kill $!