Mercurial 如何(可能)创建运行多个命令的hg命令别名?

Mercurial 如何(可能)创建运行多个命令的hg命令别名?,mercurial,Mercurial,我想在我的hgrc文件中定义一个调用多个命令的Mercurial命令别名。例如,我想做如下事情: [alias] giveup = revert --all --no-backup; purge syncprod = fetch production; push production 这将允许我调用hg syncprod,让它调用一个fetch,然后再调用一个push。无法确定此功能是否存在。(我猜这意味着没有。)使用shell别名样式,如下所示: giveup = !$HG revert -

我想在我的hgrc文件中定义一个调用多个命令的Mercurial命令别名。例如,我想做如下事情:

[alias]
giveup = revert --all --no-backup; purge
syncprod = fetch production; push production

这将允许我调用
hg syncprod
,让它调用一个fetch,然后再调用一个push。无法确定此功能是否存在。(我猜这意味着没有。)

使用shell别名样式,如下所示:

giveup = !$HG revert --all --no-backup ; $HG purge

不过,就我个人而言,我只是为那些人创建了一个bash别名,这样我就可以完全跳过
hg
部分。

我无法对前面的答案发表评论,但是对于其他希望在Windows上实现这一点的人来说,以下语法对我来说很有用,而不必使用PowerShell或cygwin

giveup = !hg revert --all --no-backup && hg purge
或者,无论还原是否成功,此版本都将执行清除:

giveup = !hg revert --all --no-backup & hg purge
可以将两个以上的命令串在一起,例如:

shebase = !hg shelve && hg rebase && hg unshelve

有没有办法在Windows上做到这一点?在cygwin下,我想同样的方法也可以,但如果没有,你最好写一个giveup.bat(或cmd或powershell使用的任何东西)。你可以通过别名调用powershell或cmd。例如,我在powershell中使用以下别名:
amend=!powershell-NoProfile-Command hg ci-m$(cat.hg\last message.txt)
从或(我的首选项)中使用Mercurial。分叉非常有用!我发现自己打字太频繁了。