创建一个运行两个命令并采用一个参数的Mercurial别名

时间:2017-04-26 17:07:27

标签: mercurial alias dvcs

我正在尝试创建一个别名,并允许我提交更改并推送当前分支的所有更改集。
我是从Windows命令提示符运行它。

我已阅读this questionthis question,到目前为止还有:

ci-push = !hg ci -m $1 && hg push -b .

当我尝试这个时,我得到错误:

  

abort:Commit:系统找不到指定的文件

如果我尝试:

ci-push = !hg ci -m %1 && hg push -b .

然后它似乎工作(提示auth并推送提交),但我的提交消息是:

  

1%

甚至可以从Windows cmd提示符中进行此操作吗?

1 个答案:

答案 0 :(得分:2)

在Windows上,%USERPROFILE%\mercurial.ini

[alias]
ll = log -l$1

测试:

>hg ll
abort: too few arguments for command alias

> hg ll 5
changeset:...

Shell别名(%USERPROFILE%\mercurial.ini):

[alias]
ld = !hg log -r $1 && hg diff -r $1

测试:

>hg ld 154
changeset:   154:5bb3aba44eab
....

diff -r 5bb3aba44eab ....

P.S。 将$N与空格一起使用时,应使用引号(别名中为!hg ci -m "$1" ...)。