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