如何获取包含 Mercurial 中特定修订版的所有分支的列表?

How to get a list of all branches containing specific revisoin in Mercurial?

根据 WhosebugGit 中获取包含特定修订版的所有分支的列表回答可以使用以下命令:

git branch --contains <commit>

如何使用 Mercurial 完成此操作?

我也希望输出尽可能干净。例如 hg branches returns 也是分支中的最后修订:

new-branch                     2:657883530997
default                        1:6c8931261776 (inactive)

但比 return 仅分支名称更可取,每个分支名称都在一个新行上以便于机器处理。

在 Mercurial 中,只有一个分支 可以包含任何特定的提交。只需检查提交本身并查看它在哪个分支上;那是它将永远存在的分支。如果愿意,您可以将该提交复制到不同分支上的新提交(例如使用 hg graft),但它将具有不同的哈希 ID。

命令hg log -r <em>rev</em> -T '{branch}' 足以提取分支名称。修订说明符可以是相对数字或哈希 ID。