Comment 8 for bug 149270

I think the particular source of readonliness is different, but the
underlying issue is the same as you say: we copy content locally just
to diff it, and we can [perhaps] avoid that.

We could convert this into 'upgrade readlocks to writelocks' which
would fix the majority of cases (but leave running missing in a
readonly filesystem (e.g. a different users homedir) not working.

I agree completely about not solving it at the command layer: solving
this per-command is likely to be painful and incomplete ;)