graph: sort parents from farthest to closest #3070
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a follow up of #3048
Please note that I don't fully understand what I'm doing here, bear with me :)
Currently, as I understand, the edges for children with multiple parents are "drawn" in exact order they appear in the graph, which leads to cases like this:
First parent of
merge
isfix
and second isinitial
.More visually appealing graph would be (in my opinion) when
merge
has first parentinitial
(oldest/farthest) and second parentfix
(newest/closest). If we sort parents by theirposition
we get:I've added the change in
RevsetGraphIterator
(I'm not sure if this is the right place) and two tests to check that the order of commits in a merge does not matter. The other changes are test snapshots (which I've checked only briefly).I'd like to hear your feedback.
Checklist
If applicable:
CHANGELOG.md