为什么我的文件不能推送到我的SFTP服务器?


1

我在将分支推送到SFTP服务器时遇到问题。我正在按照这里的说明进行操作。

当我推动分支时,一切似乎都成功完成了。我收到消息“ Created new branch。”,如果再次执行“ bzr push”,则显示“没有要推送的新修订”。但是,当我使用ssh到SFTP服务器查看放置分支的目录时,仅存在.bzr目录。我的文件都没有。有谁知道为什么会这样吗?

Answers:


1

我的问题已在Launchpad上解决。以下是一些答案(来自Launchpad问题):

来自bzr help push

描述:

目标分支将不会填充其工作树,因为这既昂贵又受远程文件系统支持。

某些智能服务器或协议将来可能会将工作树放置到位。

您可能需要按照此方法来部署完整的bzr-loggerhead远程服务器

另外,即使您的sftp服务器中需要一棵工作树,也可以bzr update按照working-tree的帮助中所示进行运行:

如果要在要推送到的远程计算机上有一棵工作树,则可以bzr update在每次推送后在远程分支中运行,也可以在推送期间使用其他方法更新树。有一个rspush插件可以使用rsync以及进行推送来更新工作树。还有一个push-and-update插件可以bzr update在每次推送后自动通过SSH 运行。

如果您的SFTP服务器不允许在存储库中安装bzr或挂钩,请在此处查看。对于Web开发,我正在使用sshfs来更新公共版本。

对于挂载,您将需要使用这些选项-o idmap=user,workaround=rename将远程用户映射到您自己,并解决重命名到SFTP协议中现有文件的问题。

总结成命令

前提

sudo apt-get install fuse-utils sshfs

挂载目录

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服务器上将“ sftp-username”替换为您的用户名。
  • 用SFTP服务器名称替换“ sftp.my-site.org”。
  • 如果在其中使用主目录,请确保在服务器名称之后包含结尾的冒号:。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.