Mercurial > hg
view tests/test-convert-bzr-merges @ 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 | 5b3fee9c1f4d |
children |
line wrap: on
line source
#!/bin/sh # N.B. bzr 1.13 has a bug that breaks this test. If you see this # test fail, check your bzr version. Upgrading to bzr 1.13.1 # should fix it. . "$TESTDIR/bzr-definitions" echo % test multiple merges at once mkdir test-multimerge cd test-multimerge bzr init -q source cd source echo content > file bzr add -q file bzr commit -q -m 'Initial add' cd .. bzr branch -q source source-branch1 cd source-branch1 echo morecontent >> file echo evenmorecontent > file-branch1 bzr add -q file-branch1 bzr commit -q -m 'Added branch1 file' cd ../source sleep 1 echo content > file-parent bzr add -q file-parent bzr commit -q -m 'Added parent file' cd .. bzr branch -q source source-branch2 cd source-branch2 echo somecontent > file-branch2 bzr add -q file-branch2 bzr commit -q -m 'Added brach2 file' sleep 1 cd ../source bzr merge -q ../source-branch1 bzr merge -q --force ../source-branch2 bzr commit -q -m 'Merged branches' cd .. hg convert --datesort source source-hg glog -R source-hg manifest source-hg tip