如何将bash脚本直接嵌入Mercurial别名中

时间:2015-06-25 20:53:18

标签: bash mercurial alias

我有一个Mercurial别名,它将指定的分支推送到中央仓库:

[alias]
pushbranch = push -b

这项工作正常,但有90%的时间我想推送当前的分支,我现在这样做了:

$ hg pushbranch `hg branch`

我可能只能更新我的.hgrc中的别名:

[alias]
pushbranch = push -b `hg branch`

但这失败了:

pushing to branch`
abort: unknown branch '`hg'!

我发现this answer基本上是用Git做的,但是那里使用的机制也不适用于Mercurial,我做了:

[alias]
pushbranch = push -b '!sh hg branch'

得到了:

pushing to ssh://hg@bitbucket.org/myteam/reponame
abort: unknown branch '!hg branch'!

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

在Mercurial中,别名必须以感叹号开头才能调用shell。在这样的别名中,$HG可用于调用Mercurial。 E.g:

[alias]
pushbranch = !$HG push -b `$HG branch`