[PATCH] blackbox: also log alias expansions
Augie Fackler
raf at durin42.com
Tue Aug 23 20:53:47 UTC 2016
# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1471984808 14400
# Tue Aug 23 16:40:08 2016 -0400
# Node ID b3c025f053ec7573bea30e8b9482d7e2c57caf7b
# Parent 92ac2baaea86dbba8565c359206fb97d39ec6e63
blackbox: also log alias expansions
This should be extremely useful for helping users debug without having
to see their complete configuration.
Shell aliases appear to not be logged at all, which I find confusing,
but I haven't taken the time to debug in any detail.
diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
--- a/mercurial/dispatch.py
+++ b/mercurial/dispatch.py
@@ -889,6 +889,9 @@ def _dispatch(req):
msg = ' '.join(' ' in a and repr(a) or a for a in fullargs)
ui.log("command", '%s\n', msg)
+ if isinstance(func, cmdalias):
+ ui.log('commandalias', "alias '%s' expands to '%s %s'\n" % (
+ func.name, func.cmdname, ' '.join(func.givenargs)))
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
try:
return runcommand(lui, repo, cmd, fullargs, ui, options, d,
diff --git a/tests/test-blackbox.t b/tests/test-blackbox.t
--- a/tests/test-blackbox.t
+++ b/tests/test-blackbox.t
@@ -4,6 +4,8 @@ setup
> blackbox=
> mock=$TESTDIR/mockblackbox.py
> mq=
+ > [alias]
+ > confuse = log --limit 3
> EOF
$ hg init blackboxtest
$ cd blackboxtest
@@ -17,6 +19,18 @@ command, exit codes, and duration
1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob)
1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox
+alias expansion is logged
+ $ hg confuse
+ $ hg blackbox
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob)
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox --config blackbox.dirty=True exited 0 after * seconds (glob)
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'confuse' expands to 'log --limit 3'
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse exited 0 after * seconds (glob)
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
+
incoming change tracking
create two heads to verify that we only see one change in the log later
More information about the Mercurial-devel
mailing list