Comment 6 for bug 149270

On 24.06.2010 21:26, Robert Collins wrote:
> bug 129045 has a patch for this, I'm going to mark it as a dupe simply
> because LP makes it hard to mark this one as a dupe of that. The patch
> is at
> http://launchpadlibrarian.net/8595399/bzr_missing_catch_unlockabletransport.diff

Doesn't work for the bug 497676 from which I came here. That bug is
about the log builtin, while the patch you refer to only addresses the
missing plugin. At least as far as I can tell. In other words, that
patch is a workaround for one special case, but not a solution to the
underlying problem. Judging from the exception name, I'm not even sure
that bug 129045 really is the same problem at heart.

Bug 244278, bug 497676, bug 503031 and the original report here all deal
with branch: revspecs in combination with various read-only commands:
status, log and vimdiff. Addressing this at the command level seems
ill-advised to me. Instead I'd look at RevisionSpec_branch for a place
to fix.

There the idea seems to be that we simply fetch the revisions from the
remote branch into the local repository for the sake of diff. We could
probably fall back to not fetching the remote revisions if the
transaction is read-only. I'll attach a branch with an idea for a fix.