In bzr.dev, WorkingTree4._iter_changes traverses unversioned subdirectories. This has bad behavior implications and bad performance implications.
Behavior: The user may not have permission to traverse the unversioned subdirectories. This causes a Permission denied error. This does not occur with WorkingTree3.
Performance: If the unversioned part of the tree is large, Bazaar may spend significant time traversing the unversioned directory. This performance penalty is not necessary: since the directories are unversioned, they can produce no useful information.
In bzr.dev, WorkingTree4. _iter_changes traverses unversioned subdirectories. This has bad behavior implications and bad performance implications.
Behavior: The user may not have permission to traverse the unversioned subdirectories. This causes a Permission denied error. This does not occur with WorkingTree3.
Performance: If the unversioned part of the tree is large, Bazaar may spend significant time traversing the unversioned directory. This performance penalty is not necessary: since the directories are unversioned, they can produce no useful information.