Mercurial > hg
view tests/test-mq-qrefresh-replace-log-message @ 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 | 448eb46d4d84 |
children |
line wrap: on
line source
#!/bin/sh # Environement setup for MQ echo "[extensions]" >> $HGRCPATH echo "mq=" >> $HGRCPATH #Repo init hg init hg qinit echo ======================= echo "Should fail if no patches applied" hg qrefresh hg qrefresh -e hg qnew -m "First commit message" first-patch echo aaaa > file hg add file hg qrefresh echo ======================= echo "Should display 'First commit message'" hg log -l1 -v | sed -n '/description/,$p' echo # Testing changing message with -m echo bbbb > file hg qrefresh -m "Second commit message" echo ======================= echo "Should display 'Second commit message'" hg log -l1 -v | sed -n '/description/,$p' echo # Testing changing message with -l echo "Third commit message" > logfile echo " This is the 3rd log message" >> logfile echo bbbb > file hg qrefresh -l logfile echo ======================= printf "Should display 'Third commit message\\\n This is the 3rd log message'\n" hg log -l1 -v | sed -n '/description/,$p' echo # Testing changing message with -l- hg qnew -m "First commit message" second-patch echo aaaa > file2 hg add file2 echo bbbb > file2 (echo "Fifth commit message" echo " This is the 5th log message" >> logfile) |\ hg qrefresh -l- echo ======================= printf "Should display 'Fifth commit message\\\n This is the 5th log message'\n" hg log -l1 -v | sed -n '/description/,$p' echo