Mercurial > hg
view tests/test-bookmarks-strip.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 | 863567a1364f |
children | 4c94b6d0fb1c |
line wrap: on
line source
$ echo "[extensions]" >> $HGRCPATH $ echo "bookmarks=" >> $HGRCPATH $ echo "mq=" >> $HGRCPATH $ hg init $ echo qqq>qqq.txt add file $ hg add adding qqq.txt commit first revision $ hg ci -m 1 -u user -d "1 0" set bookmark $ hg book test $ echo www>>qqq.txt commit second revision $ hg ci -m 2 -u usr -d "1 0" set bookmark $ hg book test2 update to -2 $ hg update -r -2 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo eee>>qqq.txt commit new head $ hg ci -m 3 -u user -d "1 0" created new head bookmarks updated? $ hg book test 1:16b24da7e457 test2 1:16b24da7e457 strip to revision 1 $ hg strip 1 saved backup bundle to .* list bookmarks $ hg book * test 1:9f1b7e78eff8 * test2 1:9f1b7e78eff8