在Mercurial中如何获取当前分支对应的是哪个远程分支?

How to retrieve to which remote and remote branch the current branch is corresponding to in Mercurial?

获取当前远程分支名称和Git中远程分支名称对应的可以使用以下命令:

git rev-parse --abbrev-ref --symbolic-full-name @{u}

它returns类似于:

<some-remote-name>/<some-remote-branch-name>

其中<some-remote-name>是远程分支的名称,<some-remote-branch-name>是当前分支跟踪的远程分支的名称。

例如可以是:

origin/master

如何在 Mercurial 中做同样的事情?

Mercurial 分支没有 Git 语义; Mercurial 中的分支名称是 而不是 头,这些概念并不真正对应。 Mercurial 中的分支名称是真正的全局名称,您在 您的 存储库中使用的名称是其他 Mercurial 存储库将在 他们的 存储库中使用的名称。1 Git 中的分支名称有上游设置,但 Mercurial 中的分支名称没有(他们不需要这个概念)。进行提交的分支是提交将永远存在的分支;它永远不会在任何其他分支上。


1Convert 扩展允许名称在不同的 Mercurial 存储库中来回映射到不同的字符串,但基本问题仍然存在。