Моя проблема была решена на Launchpad . Вот некоторые из ответов (взяты из вопроса Launchpad ):
От bzr help push
:
Описание:
В целевой ветви не будет заполнено рабочее дерево, потому что это дорого и не поддерживается в удаленных файловых системах.
Некоторые интеллектуальные серверы или протоколы могут создать рабочее дерево в будущем.
Возможно, вы захотите следовать этим инструкциям, чтобы развернуть полный удаленный сервер bzr-loggerhead
Кроме того, и просто если вам нужно рабочее дерево на вашем сервере sftp, вы можете запустить, bzr update
как показано в working-tree
справке:
Если вы хотите иметь работающее дерево на удаленной машине, которую вы отправляете, вы можете запускать bzr update
удаленную ветку после каждой отправки или использовать другой метод для обновления дерева во время отправки. Существует rspush
плагин, который будет обновлять рабочее дерево с помощью rsync, а также делать push. Существует также push-and-update
плагин, который автоматизирует работу bzr update
через SSH после каждого нажатия.
Посмотрите здесь, если ваш SFTP-сервер не позволяет устанавливать bzr или хуки в хранилище. Для веб-разработки я использую sshfs для обновления публичной версии.
Для монтирования вы захотите использовать опции -o idmap=user,workaround=rename
для привязки удаленного пользователя к себе и обойти проблему с переименованием в существующий файл в протоколе SFTP.
Суммировать это в команды
Prequesites
sudo apt-get install fuse-utils sshfs
Mount Dir
mkdir ~/sftp.my-site.org
монтаж
sshfs sftp-username@sftp.my-site.org: ~/sftp.my-site.org -o idmap=user,workaround=rename
Запустить обновление
cd ~/sftp.my-site.org; bzr update
Заметки
- Замените «sftp-username» своим именем пользователя на SFTP-сервере.
- Замените «sftp.my-site.org» на имя сервера SFTP.
- Обязательно включайте в конце двоеточие: после имени сервера, если используете там домашний каталог.