I'll note that the default behavior for 'bzr dpush' is to refuse to operate when you have local changes. It is only if you manually disable 'strict' mode, either by supplying --no-strict or by setting 'dpush_strict = False' in your system configuration that you would run into this.
I certainly think it could be implemented as updating the working tree and preserving the content, but that may be difficult in the current layout.
I'll note that the default behavior for 'bzr dpush' is to refuse to operate when you have local changes. It is only if you manually disable 'strict' mode, either by supplying --no-strict or by setting 'dpush_strict = False' in your system configuration that you would run into this.
I certainly think it could be implemented as updating the working tree and preserving the content, but that may be difficult in the current layout.