возможно ли написать запрос revset, который бы отображал только наборы изменений, участвующие в ветвлении?
Да
(я использую мое хранилище Assembla с одной именованной веткой в качестве примера и контрольной точкой для вас в следующих примерах)
- первая ревизия каждой ветви
hg log -r "branch(Cleanup)" -l 1
или hg log -r "min(branch(Cleanup))"
или hg log -r "first(branch(Cleanup))"
changeset: 58:f7f288c9e72b
branch: Cleanup
parent: 55:acadd1e83fba
- это прямой родитель
hg log -r "parents(min(branch(Cleanup)))"
или hg log -r "p1(min(branch(Cleanup)))"
или hg log -r "min(branch(Cleanup))^"
changeset: 55:acadd1e83fba
- текущий заголовок каждой ветви
hg heads Cleanup
или hg log -r "head() and (branch(Cleanup))"
или hg log -r "heads(branch(Cleanup))"
changeset: 67:67608168d4b3
branch: Cleanup
tag: tip