tests/test-revert-unknown
author Steve Losh <steve@stevelosh.com>
Wed, 18 Aug 2010 18:18:26 -0400
changeset 11988 8380ed691df8
parent 2982 890e285c52a1
permissions -rwxr-xr-x
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.

#!/bin/sh

hg init
touch unknown

touch a
hg add a
hg ci -m "1" -d "1000000 0"

touch b
hg add b
hg ci -m "2" -d "1000000 0"

echo %% Should show unknown
hg status
hg revert -r 0 --all
echo %% Should show unknown and b removed
hg status
echo %% Should show a and unknown
ls