从mercurial获取更改到FTP站点

Mar*_*rau 11 ftp mercurial

我在一个PHP站点上与一个合作伙伴一起为客户工作.我们有一个共同的Mercurial存储库(在Bitbucket上),包括本地副本和实时站点.我们只有FTP访问实时站点(由于它只是一个FTP主机包,因此无法更改).

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

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

有没有什么好方法可以使用linux命令行工具?

sha*_*une 7

我的第一个建议是,如果可能的话,获得一个允许更多访问的包.FTP只是残酷的.

但既然你正在寻找问题的真实答案,我有两个想法:

  1. 我建议调查mercurial FTP扩展.我个人从来没有使用它,因为我从来没有陷入仅限ftp的情况(至少不是很长时间),但看起来很有希望.看起来如果你确定你标记你的生产版本它会很好地为你工作.(确保使用-uploaded param)

  2. 此外,如果您只想在产品环境中安装提示,那么您可以看看Martin Geisler 几天前在bitbucket用户组上提出的建议.基本上他的建议是利用bitbucket的"ping url"功能.您必须编写一个服务器端脚本/ url处理程序来接受ping,然后从bitbucket(作为zip)获取提示然后解压缩/解压缩它.这有点复杂,但如果您正在寻找完全自动化,并且提示始终是最好的,这可能对您有用.

  • 关于选项2,我想说可能会在(重新)移动文件等一段时间后导致混乱. (2认同)