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