我有一个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'!
有什么建议吗?
答案 0 :(得分:4)
在Mercurial中,别名必须以感叹号开头才能调用shell。在这样的别名中,$HG
可用于调用Mercurial。 E.g:
[alias]
pushbranch = !$HG push -b `$HG branch`