rpm.compare_versions: fix bugs with ~ segments #25
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 PR fixes several bugs that I noticed when I compared the result of sorting all Fedora 35 packages between:
With these fixes, the sorting of that test dataset is the same. (The ~~ test case doesn't exist in that dataset - it's artificial to show the badness from calling _get_block_result() without proceeding to the next pass of the loop. I did check that RPM handles it the same way as the test case.)
I haven't reviewed the librpm sources and make no guarantees that the order is the same for all possible inputs. :-)