修改mercurial的默认命令

时间:2011-12-20 14:05:15

标签: mercurial hgrc

默认情况下,只需在命令提示符下键入hg即可显示基本帮助 - 当然,这对初学者来说是个好消息。

但有没有办法修改它,以便例如显示当前摘要? (即只需输入hg sum)即可获得hg的结果。


顺便说一句: 我所做的就是设置一个像这样的

字符别名
[alias]
, = glog -l5 --template "{rev}:{node|short} [{tags}] {desc|firstline}\n"
. = !%HG% sum && echo. && echo *** GUARDS *** && %HG% qsel && echo. && echo *** applied PATCHES *** && %HG% qap

我只是想知道这是否可以进一步优化。

1 个答案:

答案 0 :(得分:4)

不,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 summaryhg add -h之类的内容仍会触发帮助。