Mercurial pre commit hook修改设置

时间:2013-05-18 04:47:50

标签: mercurial automation localhost build-automation mercurial-hook

我正在尝试设置我的网络应用程序(浏览器扩展程序),以便我可以在开发,测试和生产之间无缝移动。在大多数情况下,我避免将任何网址硬编码到应用程序中,但很少有地方无法实现这一点:

  • 作为一个注入js的浏览器扩展,我在页面上插入iframe时不能使用相对路径(或location.host),因为它将默认为它所插入的域。 (但我实际上需要将它作为localhost进行测试,然后在我推送后直接访问www.mydomain.com)
  • 我有时也喜欢测试测试和实时数据库,但是不想总是切换那个标志并冒险提交测试数据库设置。

我真正想做的是在我提交之前(在几个文件x.php,y.js上)进行搜索/替换,以便将localhost与www.mydomain.com交换。

任何人都可以通过预先挂钩(或任何其他技术)告诉我如何做到这一点吗?

修改

虽然我已经在mercurial hooks下发布了 - 我对其他任何自动化更改的方法都100%开放......

  • 我也可以在拉动更改后在实时服务器上进行更改。
  • 我想对于数据库更改,我可以从我的repo中删除配置文件并在我的实时服务器上保留preconfig版本 - 但我不喜欢这个因为从我的repo拉到新的服务器/路径会在没有任何数据库设置的情况下拉动整个应用程序...(只是将我的想法放在这里,以防有人帮忙解决方案)

谢谢!

1 个答案:

答案 0 :(得分:0)

我将某些内容放在不受版本控制的文件中(即将其添加到.hgignore中)。如果文件不存在(或者选择一个合理的默认值),那么就会令人讨厌地失败,现在你可以轻松地在该文件中切换主机名(不用担心提交它)。