diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -248,7 +248,7 @@ class cmdalias(object): if self.shadows: ui.debug("alias '%s' shadows command\n" % self.name) - return self.fn(ui, *args, **opts) + return util.checksignature(self.fn)(ui, *args, **opts) def addaliases(ui, cmdtable): # aliases are processed after extensions have been loaded, so they diff --git a/tests/test-alias b/tests/test-alias --- a/tests/test-alias +++ b/tests/test-alias @@ -14,6 +14,7 @@ shortlog = log --template '{rev} {node|s dln = lognull --debug nousage = rollback put = export -r 0 -o "\$FOO/%R.diff" +rt = root [defaults] mylog = -q @@ -64,3 +65,8 @@ hg dln echo '% path expanding' FOO=`pwd` hg put cat 0.diff + +echo '% invalid arguments' +hg rt foo + +exit 0 diff --git a/tests/test-alias.out b/tests/test-alias.out --- a/tests/test-alias.out +++ b/tests/test-alias.out @@ -43,3 +43,16 @@ diff -r 000000000000 -r e63c23eaa88a foo +++ b/foo Thu Jan 01 00:00:00 1970 +0000 @@ -0,0 +1,1 @@ +foo +% invalid arguments +hg rt: invalid arguments +hg rt + +alias for: hg root + +print the root (top) of the current working directory + + Print the root directory of the current repository. + + Returns 0 on success. + +use "hg -v help rt" to show global options