Mercurial > hg
view tests/test-rebase-collapse.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 | 7a9cf012dddc |
children |
line wrap: on
line source
@ 7: H | | o 6: G |/| o | 5: F | | | o 4: E |/ | o 3: D | | | o 2: C | | | o 1: B |/ o 0: A % Rebasing B onto H 3 files updated, 0 files merged, 2 files removed, 0 files unresolved saved backup bundle to @ 5: Collapsed revision | * B | * C | * D o 4: H | | o 3: G |/| o | 2: F | | | o 1: E |/ o 0: A Expected A, B, C, D, F, H A B C D F H % Rebasing G onto H saved backup bundle to @ 6: Collapsed revision | * E | * G o 5: H | o 4: F | | o 3: D | | | o 2: C | | | o 1: B |/ o 0: A Expected A, E, F, H A E F H @ 7: H | | o 6: G | |\ | | o 5: F | | | | | o 4: E | | | | o | 3: D | |\| | o | 2: C |/ / | o 1: B |/ o 0: A % Rebase and collapse - more than one external (fail) abort: unable to collapse, there is more than one external parent % Rebase and collapse - E onto H saved backup bundle to @ 5: Collapsed revision |\ * E | | * F | | * G | o 4: H | | o | 3: D |\ \ | o | 2: C | |/ o / 1: B |/ o 0: A Expected A, B, C, E, F, H A B C E F H @ 8: I | | o 7: H | |\ | | o 6: G | | | | | o 5: F | | | | | o 4: E | | | | o | 3: D | |\| | o | 2: C |/ / | o 1: B |/ o 0: A % Rebase and collapse - E onto I merging E saved backup bundle to @ 5: Collapsed revision |\ * E | | * F | | * G | | * H | o 4: I | | o | 3: D |\ \ | o | 2: C | |/ o / 1: B |/ o 0: A Expected A, B, C, E, G, I A B C E G I Cat E: F @ 5: F | | o 4: E | |\ | | o 3: D | | | | o | 2: C | |/ | o 1: B |/ o 0: A % Rebase and collapse - B onto F saved backup bundle to @ 2: Collapsed revision | * B | * C | * D | * E o 1: F | o 0: A Expected A, B, C, D, F A B C D F