This is ~ok on a remote location, where determining if a path from list_dir() is a directory or a file is as expensive as just trying to open it. (at least in theory the one is a stat round-trip, the other is an open(.bzr/branch-format) round-trip).
In practice, it could be quite a bit more expensive.
Even further, locally it is extra expensive. The CPU overhead of Branch.open probably dominates. (arguably Branch.open() is way to slow already, but this exacerbates the problem.)
This is ~ok on a remote location, where determining if a path from list_dir() is a directory or a file is as expensive as just trying to open it. (at least in theory the one is a stat round-trip, the other is an open(.bzr/ branch- format) round-trip).
In practice, it could be quite a bit more expensive.
Even further, locally it is extra expensive. The CPU overhead of Branch.open probably dominates. (arguably Branch.open() is way to slow already, but this exacerbates the problem.)