Steve Losh <steve@stevelosh.com> [Wed, 18 Aug 2010 18:56:44 -0400] rev 11989
aliases: provide more flexible ways to work with shell alias arguments
This patch changes the functionality of shell aliases to add more powerful
options for working with shell alias arguments.
First: the alias name + arguments to a shell alias are set as an HG_ARGS
environment variable, delimited by spaces. This matches the behavior of hooks.
Second: any occurrences of "$@" (without quotes) are replaced with the
arguments, separated by spaces. This happens *before* the alias gets to the shell.
Third: any positive numeric variables ("$1", "$2", etc) are replaced with the
appropriate argument, indexed from 1. "$0" is replaced with the name of the
alias. Any "extra" numeric variables are replaced with an empty string. This
happens *before* the alias gets to the shell.
These changes allow for more flexible shell aliases:
[alias]
echo = !echo $@
count = !hg log -r "$@" --template='.' | wc -c | sed -e 's/ //g'
qqueuemv = !mv "`hg root`/.hg/patches-$1" "`hg root`/.hg/patches-$2"
In action:
$ hg echo foo
foo
$ hg count 'branch(default)'
901
$ hg count 'branch(stable) and keyword(fixes)'
102
$ hg qqueuemv myfeature somefeature
Steve Losh <steve@stevelosh.com> [Wed, 18 Aug 2010 18:18:26 -0400] rev 11988
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.
Brodie Rao <brodie@bitheap.org> [Wed, 18 Aug 2010 10:53:52 -0400] rev 11987
convert: use encoding.encoding instead of locale.getpreferredencoding()
The latter may not return useful results in certain OS X environments.
Brodie Rao <brodie@bitheap.org> [Wed, 18 Aug 2010 10:53:50 -0400] rev 11986
convert: properly set encoding for gnuarch converter
Matt Mackall <mpm@selenic.com> [Thu, 19 Aug 2010 11:14:09 -0500] rev 11985
log: add logging for commands
Matt Mackall <mpm@selenic.com> [Thu, 19 Aug 2010 11:14:02 -0500] rev 11984
ui: add logging hook
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 06:05:09 +0530] rev 11983
tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 06:02:08 +0530] rev 11982
tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 05:55:56 +0530] rev 11981
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 05:54:00 +0530] rev 11980
tests: unify test-merge7
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 05:21:07 +0530] rev 11979
tests: unify test-merge6
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 05:15:49 +0530] rev 11978
tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 05:12:44 +0530] rev 11977
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 05:09:58 +0530] rev 11976
tests: unify test-merge2
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 05:05:51 +0530] rev 11975
tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 04:37:06 +0530] rev 11974
tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 04:30:27 +0530] rev 11973
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 04:26:20 +0530] rev 11972
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com> [Wed, 18 Aug 2010 04:21:10 +0530] rev 11971
tests: unify test-merge-closedheads
Matt Mackall <mpm@selenic.com> [Thu, 19 Aug 2010 10:25:41 -0500] rev 11970
merge with stable
Jeremy Whitlock <jcscoobyrs@gmail.com> [Wed, 28 Jul 2010 23:05:03 -0600] rev 11969
color: enable branches support
This commit updates the branches command to use ui.label for the branch names
and the changeset. This implementation allows assigning colors to the four
states of a branch: active, closed, current and inactive. While you can
configure color for the four states, only current and closed have default colors
of green and black bold respectively.
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 18 Aug 2010 23:37:26 +0200] rev 11968
mq/qqueue: update bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 18 Aug 2010 23:37:19 +0200] rev 11967
mq/qqueue: add --purge option to delete a queue and its patch dir
qqueue --delete only deletes the reference to the queue, and leaves
the associated patch directory behind. There is no Mercurial-way of
getting rid of that patch directory afterward.
This patch adds the --purge option to qqueue, that deletes the queue
from the list, and also removes the associated patch dir. If the queue
was non-existant, but the patch dir was, it is removed nonetheless.
This is to avoid manual intervention in the .hg directory.
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 18 Aug 2010 23:34:28 +0200] rev 11966
mq/qqueue: commonalise the queue deletion code
Mads Kiilerich <mads@kiilerich.com> [Wed, 18 Aug 2010 02:43:45 +0200] rev 11965
mq: don't inherit default and default-push paths with --mq (issue2333)
Configuration from the outer repo is inherited to the patches repo when --mq is
used.
In case the patches repo only has paths.default configured but the outer repo
has paths.default-push then the inherited default-push will win. Very
confusing.
Inheriting the default paths is however wrong in all sane cases, so now we
explicitly remove them.
Martin Geisler <mg@lazybytes.net> [Thu, 19 Aug 2010 16:34:12 +0200] rev 11964
test-subrepo-paths: use printf instead of echo
Different shells have different opinions on how to backslashes must be
escaped for echo, but printf is consistent across zsh, dash, bash,
tcsh, and csh.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 18 Aug 2010 19:37:23 +0200] rev 11963
parendelta: fix computation of base rev (fixes issue2337)
Refactor revlog._addrevision() and put the correct base rev in the
parent-delta case: base(rev) should always be equal to the first full snapshot
that is needed by the delta chain, in both parent-delta and tip-delta case.
Before this fix, the base rev was in most case wrong (and in the case where
p1 == nullid, this triggered the bug from issue2337). This means that
repositories converted to parent-delta earlier are corrupted and needs to be
reconverted.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 18 Aug 2010 19:45:52 +0200] rev 11962
revlog._addrevision(): make the parent of the cached delta explicit