Second:
Instead of acquiring a lock on a directory while a user writes a commit message (since SVN doesn't allow it), what about just moving the out-of-date check to happen after the user supplies the commit message? It's not foolproof, but it reduces the time between check & push, and the likelyhood of the above issue arising.
First, a note: Reproducing this bug is currently blocked by https:/ /bugs.launchpad .net/bzr/ +bug/293440
Second:
Instead of acquiring a lock on a directory while a user writes a commit message (since SVN doesn't allow it), what about just moving the out-of-date check to happen after the user supplies the commit message? It's not foolproof, but it reduces the time between check & push, and the likelyhood of the above issue arising.