BzrDir.find_branches() goes into an infinite loop on MemoryTransport
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
James Henstridge |
Bug Description
If I run BzrDir.
A simple test program that triggers the bug is:
from bzrlib.bzrdir import BzrDir
from bzrlib.transport import get_transport
from bzrlib.
server = MemoryServer()
server.setUp()
transport = get_transport(
BzrDir.
for branch in BzrDir.
print branch.base
Adding a few debug prints shows that MemoryTransport
So in the above example, it effectively does:
1. checks to see if memory+NNN:/// is a branch (it is).
2. lists memory+NNN:///, getting ['.bzr'] as a result.
3. checks to see if memory+NNN:///.bzr/ is a branch (it is not)
4. lists memory+
5. checks to see if memory+
6. lists memory+
...
This makes it impossible to use TestCaseWithMem
Changed in bzr: | |
assignee: | nobody → jamesh |
importance: | Undecided → Medium |
milestone: | none → 1.3 |
status: | New → Fix Committed |
Changed in bzr: | |
status: | Fix Committed → Fix Released |
Changed in bzr: | |
milestone: | 0.9a → 1.3 |
I've submitted a fix for this on the Bazaar mailing list:
http:// bundlebuggy. aaronbentley. com/request/ %3Ca7e835d40802 040142r5b960e06 o2ca7bc601edf02 bb%40mail. gmail.com% 3E