【问题标题】:Get changes from mercurial to FTP site获取从 mercurial 到 FTP 站点的更改
【发布时间】:2011-03-15 11:10:25
【问题描述】:

我与合作伙伴在 PHP 网站上为客户工作。我们有一个通用的 Mercurial 存储库(在 Bitbucket 上),包括本地副本和实时站点。我们只有 FTP 访问实时站点(无法更改,因为它是一个仅包含 FTP 的托管包)。

我希望能够将更改从存储库推送到实时站点。

到现在为止,我只是在 repo 中跟踪更改的文件并使用 FileZilla 手动复制它们 - 这是一个容易出错且令人讨厌的任务。我的想法是,在本地安装远程位置(即使用CurlFtpFS)并告诉 mercurial 自动将更改的文件复制到站点。理想情况下,我希望能够指定哪些更改,但这将是一个奖励。如果 repo 中文件的本地状态是同步的就足够了。

有没有什么好的方法可以使用 linux 命令行工具来做到这一点?

【问题讨论】:

    标签: mercurial ftp


    【解决方案1】:

    我的第一个建议是,如果可能的话,购买一个允许更多访问权限的软件包。仅 FTP 太残忍了。

    但由于您正在寻找问题的真正答案,我有两个想法给您:

    1. 我建议您查看善变的FTP Extension。我个人从来没有使用过它,因为我从来没有让自己陷入仅限 ftp 的情况(至少不会很长时间),但它看起来很有希望。看起来如果您确保标记您的生产版本,它将非常适合您。 (确保使用 -uploaded 参数)

    2. 另外,如果您只希望在生产环境中安装提示,那么您可以查看几天前 Martin Geisler made on the bitbucket user group 的建议。基本上他的建议是利用 bitbucket 的“ping url”功能。您必须编写一个接受该 ping 的服务器端脚本/url 处理程序,然后从 bitbucket(作为 zip)获取提示,然后解压缩/解压缩它。这有点复杂,但如果您正在寻找完全自动化的方法,并且提示始终是最好的,那么这可能最适合您。

    【讨论】:

    • 我想我会选择 FTP 扩展。谢谢。
    • 我现在正在使用 FTP 扩展,非常棒!虽然缺少 subrepo 支持,但肯定比手动查找要上传的正确文件和内容要好得多......
    • 关于选项 2,我想说这可能会在一段时间后导致(重新)移动文件等混乱。
    【解决方案2】:

    一个概念是使用hg archive 命令:

    hg archive /path/to/curlftpsfs
    

    这会将您的存储库的快照放在该位置 - 但是它会覆盖已经存在的任何文件。

    另一种选择是在同一个/path/to/curlftpsfs 中创建一个Mercurial 克隆,然后在安装远程系统的本地系统上执行hg pull ; hg update。最初设置它意味着传输整个内容,但随后您只会发送增量。

    有些人不喜欢最后一个选项,因为它也暴露了您的整个 /.hg 存储库,但您可以在网络服务器上阻止对其的访问。

    【讨论】:

      【解决方案3】:

      我不久前从 AWS 切换到仅提供 ssh/ftp 的本地网络托管后遇到了这个问题。

      我之前使用“hg pull;hg update -C”在 AWS 上更新生产站点的方法不能再用于新的 Web 托管。他们没有为共享主机安装 mercurial。

      所以,我所做的是使用 ftp 将远程位置安装到本地计算机(即您的笔记本电脑),然后在您的计算机上本地安装远程 ftp 站点的路径上运行 hg pull 和 update 命令。

      【讨论】:

        【解决方案4】:

        Windows 解决方案:

        BeyondCompare (http://www.scootersoftware.com/) 是一款很棒的软件。除了很棒之外,它还可以将您的本地文件夹镜像到 FTP 站点。它在比较文件,只传输新的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-12-28
          • 2015-11-27
          相关资源
          最近更新 更多