Mercurial > hg
view tests/test-mq-git @ 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 | 8cb81d75730c |
children |
line wrap: on
line source
#!/bin/sh # Test the plumbing of mq.git option # Automatic upgrade itself is tested elsewhere. echo "[extensions]" >> $HGRCPATH echo "mq=" >> $HGRCPATH echo "[diff]" >> $HGRCPATH echo "nodates=1" >> $HGRCPATH hg init repo-auto cd repo-auto echo '% git=auto: regular patch creation' echo a > a hg add a hg qnew -d '0 0' -f adda cat .hg/patches/adda echo '% git=auto: git patch creation with copy' hg cp a b hg qnew -d '0 0' -f copy cat .hg/patches/copy echo '% git=auto: git patch when using --git' echo regular > regular hg add regular hg qnew -d '0 0' --git -f git cat .hg/patches/git echo '% git=auto: regular patch after qrefresh without --git' hg qrefresh -d '0 0' cat .hg/patches/git cd .. hg init repo-keep cd repo-keep echo '[mq]' > .hg/hgrc echo 'git = KEEP' >> .hg/hgrc echo '% git=keep: git patch with --git' echo a > a hg add a hg qnew -d '0 0' -f --git git cat .hg/patches/git echo '% git=keep: git patch after qrefresh without --git' echo a >> a hg qrefresh -d '0 0' cat .hg/patches/git cd .. hg init repo-yes cd repo-yes echo '[mq]' > .hg/hgrc echo 'git = yes' >> .hg/hgrc echo '% git=yes: git patch' echo a > a hg add a hg qnew -d '0 0' -f git cat .hg/patches/git echo '% git=yes: git patch after qrefresh' echo a >> a hg qrefresh -d '0 0' cat .hg/patches/git cd .. hg init repo-no cd repo-no echo '[diff]' > .hg/hgrc echo 'git = True' >> .hg/hgrc echo '[mq]' > .hg/hgrc echo 'git = False' >> .hg/hgrc echo '% git=no: regular patch with copy' echo a > a hg add a hg qnew -d '0 0' -f adda hg cp a b hg qnew -d '0 0' -f regular cat .hg/patches/regular echo '% git=no: regular patch after qrefresh with copy' hg cp a c hg qrefresh -d '0 0' cat .hg/patches/regular cd ..