在拉动之前强制Mercurial在远程端自动提交

时间:2013-03-27 22:17:54

标签: mercurial

我是网络开发人员。我有一个远程的测试服务器,可供多人(设计师,客户)访问。我想设置一个工作流程,我可以在本地通过SSH从测试服务器获取更改,Mercurial会自动提交在执行拉取之前可能远程发生的任何更改。这些更改可能包括通过CMS上传的文件或CMS生成的样式表。

CMS也有MySQL数据库,如果可能的话,我希望远程测试服务器运行mysqldump并在提交和提取之前将输出压缩/保存到repo中,这样我就可以将它加载到我的本地测试服务器以使其更新。

到目前为止,我一直在玩钩子,但我找不到符合我需要的东西。我想知道是否有一种惯用的Mercurial方法可以解决这个问题,或者我是否应该花一些时间编写远程执行SSH命令的shell脚本。

2 个答案:

答案 0 :(得分:1)

0您必须在测试中使用Mercurial

  1. 您必须在测试(hg init
  2. 上拥有Mercurial存储库
  3. 您必须将测试中的应用程序转换为服务器存储库的工作目录(hg add... +编辑.hgignore + ...)
  4. 你必须在测试中拥有cron-job(或sheduler-task),1)测试wd的状态,如果发现本地修改,则提交(可能使用dump,由之前的同一工作准备)
  5. 毕竟你可以从Testing的repo
  6. 拉出来

答案 1 :(得分:-1)

您可能希望执行远程命令以在服务器端运行提交。

--remotecmd CMD  specify hg command to run on the remote side