Mercurial > hg
changeset 29846:318e2b600b80
blackbox: also log alias expansions
This should be extremely useful for helping users debug without having
to see their complete configuration.
Shell aliases do not get their expansion logged, because we don't look
and see if we're in a repo before we dive into the execution of a
shell alias. As a result, the ui object doesn't know where to log.
author | Augie Fackler <augie@google.com> |
---|---|
date | Tue, 23 Aug 2016 16:40:08 -0400 |
parents | 398037e0511c |
children | b1f69dbdd76b |
files | mercurial/dispatch.py tests/test-blackbox.t |
diffstat | 2 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/dispatch.py Thu Aug 25 01:06:32 2016 -0400 +++ b/mercurial/dispatch.py Tue Aug 23 16:40:08 2016 -0400 @@ -500,6 +500,8 @@ ui.debug("alias '%s' shadows command '%s'\n" % (self.name, self.cmdname)) + ui.log('commandalias', "alias '%s' expands to '%s'\n", + self.name, self.definition) if util.safehasattr(self, 'shell'): return self.fn(ui, *args, **opts) else:
--- a/tests/test-blackbox.t Thu Aug 25 01:06:32 2016 -0400 +++ b/tests/test-blackbox.t Tue Aug 23 16:40:08 2016 -0400 @@ -4,6 +4,8 @@ > blackbox= > mock=$TESTDIR/mockblackbox.py > mq= + > [alias] + > confuse = log --limit 3 > EOF $ hg init blackboxtest $ cd blackboxtest @@ -17,6 +19,18 @@ 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