如何在Mercurial别名中直接嵌入Bash脚本

4

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

[alias]
pushbranch = push -b

这个方法是可行的,但90%的时间我想要推送当前分支,我目前是这样做的:

$ hg pushbranch `hg branch`

我认为我可以像这样在.hgrc中更新别名:

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

但是这会失败,显示以下错误:
pushing to branch`
abort: unknown branch '`hg'!

我发现了这个答案可以在Git中实现此功能,但是其中使用的机制在Mercurial中无法使用。我执行了以下操作:

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

并获得:

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

有什么建议吗?
1个回答

4

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接