Description
The following log is sometimes seen:
Failed compare revisions [{}] and [{}], revisions might be in the wrong order. This should not happen.
The "This should not happen." part is wrong: the log is reached when comparing two identical versions, which is a normal thing to happen.
At this point, the code returns the result of comparing the revision strings, which correctly results in 0.
If we end up in this part because some comparison failed, we will already have another error and the string comparison between the revisions will be the best thing to do. Actually, the spurious log is a leftover from when the code wasn't supposed to be reached unless in this "broken" case.