view tests/test-mq-qqueue.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 6e3875a80533
children
line wrap: on
line source

%% default queue
patches (active)
%% applied patches in default queue
somestuff
%% try to change patch (create succeeds, switch fails)
abort: patches applied - cannot set new queue active
foo
patches (active)
%% empty default queue
popping somestuff
patch queue now empty
%% switch queue
foo (active)
patches
%% list queues, quiet
foo
patches
%% fail creating queue with already existing name
abort: queue "foo" already exists
foo (active)
patches
%% create new queue for rename
bar (active)
foo
patches
%% rename queue, same name
abort: can't rename "bar" to its current name
%% rename queue to existing
abort: queue "foo" already exists
%% rename queue
buz (active)
foo
patches
%% switch back to previous queue
foo (active)
patches
%% create queue for purge
foo
patches
purge-me (active)
%% create patch for purge
.hg/patches-purge-me
popping patch-purge-me
patch queue now empty
%% purge queue
foo (active)
patches
%% unapplied patches
%% fail switching back
abort: patches applied - cannot set new queue active
%% fail deleting current
abort: cannot delete currently active queue
%% switch back and delete foo
popping otherstuff
patch queue now empty
patches (active)
%% tricky cases
patches
store (active)
popping journal
patch queue now empty
somestuff
%% invalid names
abort: invalid queue name, may not contain the characters ":\/."
abort: invalid queue name, may not contain the characters ":\/."