I have a feeling this is a dupe but I can't find it.
As you identified the problem is that bzr assumes it can directly move files from the limbo directory in .bzr into the tree.
As a cheap but slow workaround we could just change the rename to a copy. It would probably be a cheap fix if you'd like to try.
Doing so would somewhat defeat the purpose of writing things into limbo first, and perhaps it would be better to identify a directory next to the source files where they should be written. Doing that would need to take into account that in extreme cases people's actual working tree may span filesystems.
I have a feeling this is a dupe but I can't find it.
As you identified the problem is that bzr assumes it can directly move files from the limbo directory in .bzr into the tree.
As a cheap but slow workaround we could just change the rename to a copy. It would probably be a cheap fix if you'd like to try.
Doing so would somewhat defeat the purpose of writing things into limbo first, and perhaps it would be better to identify a directory next to the source files where they should be written. Doing that would need to take into account that in extreme cases people's actual working tree may span filesystems.