默认情况下修改默认命令:默认命令为
问题描述:
,只需在命令提示符下键入hg
将显示基本帮助 - 当然,新手有什么好处。默认情况下修改默认命令:默认命令为
但是有没有办法修改这个,以便例如显示当前的摘要? (即当输入hg
时得到hg sum
的结果)。
BTW: 我要做到位的。也就是说,具有配置这样
[alias]
, = glog -l5 --template "{rev}:{node|short} [{tags}] {desc|firstline}\n"
. = !%HG% sum && echo. && echo *** GUARDS *** && %HG% qsel && echo. && echo *** applied PATCHES *** && %HG% qap
我只是想知道这是否可以进一步优化一个字符的别名。
答
不,Mercurial没有这样的功能。你可以用小扩展做到这一点,虽然:
import sys
from mercurial import dispatch, extensions, commands
def uisetup(ui):
extensions.wrapfunction(commands, 'help_', default)
def default(orig, ui, repo, **opts):
if len(sys.argv) == 1:
# No command given
sys.argv.append('summary')
return dispatch.run()
else:
return orig(ui, repo, **opts)
把上面的调用,比如文件,default.py
和加载扩展。现在hg
将会像hg summary
一样运行,像hg add -h
这样的东西仍然会触发该帮助。
太棒了!这正是我想要的方式。谢谢。 – 2011-12-20 20:24:00