We first try to get a minimal eligible range by finding the source branch revision origin, then removing the already merged revs and the blocked ones, and call `_get_node_revs` last. That costly call is restricted within the eligible range obtained so far, and is even avoided completely if the eligible range is already empty at that point.
See #8459.