Comment 8 for bug 389413

Revision history for this message
Andrew Bennetts (spiv) wrote :

It's a bit harder to reproduce this now that Launchpad has upgraded its bzr. But it's still easy to provoke with a smart server that doesn't support the "Repository.get_rev_id_for_revno" verb (or by hacking remote.py locally to make it seem that the server doesn't support it).

The root cause I think is that the branch/repo really ought to be read locked well before this point, by cmd_diff's main function or at least revisionspec.py. I see that revisionspec.py actually does its own Branch.open call in some circumstances though...

The bandaid fix would be to put @needs_read_lock on some more methods in remote.py. But I'll see how hard it is to fix the root problem first.

I'm not sure if the other reports in the comments about "bzr log" etc are the same bug or not yet.