diff -r 8bbe396883db -r 24965bb270b7 mercurial/dispatch.py --- a/mercurial/dispatch.py Wed Jul 07 14:29:40 2010 +0200 +++ b/mercurial/dispatch.py Wed Jul 07 18:49:43 2010 -0400 @@ -208,6 +208,13 @@ return + if self.definition.startswith('!'): + def fn(ui, *args): + cmd = '%s %s' % (self.definition[1:], ' '.join(args)) + return util.system(cmd) + self.fn = fn + return + args = shlex.split(self.definition) cmd = args.pop(0) args = map(util.expandpath, args)