Mercurial > hg
view tests/test-remove.out @ 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 | 1f665246dab3 |
children | 07ac2a560fce |
line wrap: on
line source
% file not managed not removing foo: file is untracked ? foo ./foo 0 files updated, 0 files merged, 0 files removed, 0 files unresolved % 00 state added, options none not removing bar: file has been marked for add (use -f to force removal) A bar ./bar ./foo 0 files updated, 0 files merged, 0 files removed, 0 files unresolved % 01 state clean, options none R foo ? bar ./bar 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 02 state modified, options none not removing foo: file is modified (use -f to force removal) M foo ? bar ./bar ./foo 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 03 state missing, options none R foo ? bar ./bar 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 10 state added, options -f ? bar ./bar ./foo 0 files updated, 0 files merged, 0 files removed, 0 files unresolved % 11 state clean, options -f R foo 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 12 state modified, options -f R foo 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 13 state missing, options -f R foo 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 20 state added, options -A not removing bar: file still exists (use -f to force removal) A bar ./bar ./foo 0 files updated, 0 files merged, 0 files removed, 0 files unresolved % 21 state clean, options -A not removing foo: file still exists (use -f to force removal) ? bar ./bar ./foo 0 files updated, 0 files merged, 0 files removed, 0 files unresolved % 22 state modified, options -A not removing foo: file still exists (use -f to force removal) M foo ? bar ./bar ./foo 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 23 state missing, options -A R foo ? bar ./bar 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 30 state added, options -Af ? bar ./bar ./foo 0 files updated, 0 files merged, 0 files removed, 0 files unresolved % 31 state clean, options -Af R foo ./foo 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 32 state modified, options -Af R foo ./foo 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % 33 state missing, options -Af R foo 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding test/bar adding test/foo % dir, options none removing test/bar removing test/foo R test/bar R test/foo ./foo 2 files updated, 0 files merged, 0 files removed, 0 files unresolved % dir, options -f removing test/bar removing test/foo R test/bar R test/foo ./foo 2 files updated, 0 files merged, 0 files removed, 0 files unresolved % dir, options -A not removing test/foo: file still exists (use -f to force removal) removing test/bar R test/bar ./foo ./test/foo 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % dir, options -Af removing test/bar removing test/foo R test/bar R test/foo ./foo ./test/foo 2 files updated, 0 files merged, 0 files removed, 0 files unresolved test remove dropping empty trees (issue1861) adding issue1861/b/c/y adding issue1861/x removing issue1861/b/c/y x