My problem was resolved on Launchpad. Here are some of the answers (taken from the Launchpad question):
bzr help push:
The target branch will not have its working tree populated because this is both expensive, and is not supported on remote file systems.
Some smart servers or protocols may put the working tree in place in the future.
You might want to follow this howto to deploy a complete bzr-loggerhead remote server
Also, and just if you need a working tree in your sftp server you can run
bzr update as shown in
If you want to have a working tree on a remote machine that you push to you
can either run
bzr update in the remote branch after each push, or use some
other method to update the tree during the push. There is an
that will update the working tree using rsync as well as doing a push. There
is also a
push-and-update plugin that automates running
bzr update via SSH
after each push.
Have a look here if your SFTP server does not allow installing bzr or hooks into the repository. For web development, I am using sshfs to keep the public version updated.
For mounting, you will want to use the options
-o idmap=user,workaround=rename to map the remote user to yourself, and work around an issue with renaming onto an existing file in the SFTP protocol.
To sum it up into commands
sudo apt-get install fuse-utils sshfs
sshfs email@example.com: ~/sftp.my-site.org -o idmap=user,workaround=rename
cd ~/sftp.my-site.org; bzr update
- Replace "sftp-username" with your user name at the SFTP server.
- Replace "sftp.my-site.org" with the SFTP server name.
- Make sure to include the trailing colon : after the server name if using the home directory there.