I want to filter commits in TortoiseHg in such a way that only commits are shown that:
- Have at least one parent commit in a different named branch; or
- Have at least one child commit in different named branch; or
- Are the original starting point (commit 0); or
- Are the head of a named branch or closing commit of a named branch;
Basically: how can I get a condensed graph showing how named branches flow?
As an example, I want to condense this kind of revision graph:
Into a form where these are omitted:
- Rev 15 (green)
- Rev 14 (green)
- Rev 13 (blue)
- Rev 10 (blue)
- Rev 7 (blue)
- Rev 4 (red)
- Rev 1 (blue)
I've tried using the concrete suggestion I got in this answer at SoftwareRecs:
children(branchpoint() or merge()) or parents(branchpoint() or merge())
However, that doesn't work as I want it to, it still includes several commits that don't have any details on branching, and cuts e.g. the default branch short by showing too early a commit:
How can I change the revset filter so that I get a more condensed graph? Is it even possible? As a sub-optimal solution I guess it would also be acceptable if no distinction was made between branches being named or not.