Почему мои файлы не отправляются на мой SFTP-сервер?

1257
Matthew

У меня проблемы с отправкой моей ветки на сервер SFTP. Я следую инструкциям здесь .

Когда я нажимаю на ветку, кажется, что все завершается успешно. Я получаю сообщение «Создана новая ветвь.», И если я снова делаю «bzr push», он говорит: «Нет новых ревизий, чтобы нажать». Но когда я захожу на SFTP-сервер, чтобы посмотреть каталог, в который я поместил свою ветку, там только каталог .bzr. Ни одного из моих файлов там нет. Кто-нибудь знает, почему это может быть?

1

1 ответ на вопрос

1
Matthew

Моя проблема была решена на 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.
  • Обязательно включайте в конце двоеточие: после имени сервера, если используете там домашний каталог.