1

我目前正在研究一个受mercurial控制的项目,我希望在更新时获得一个钩子来编辑.htaccess填充以避免更改APPLICATION_ENV以适应应用程序应该运行/加载配置/连接到数据库的“模式”。

我的存储库结构如下:

Main dev repo (ENV : development)
    +-- Stable repo (Production version) (ENV : production)
    +-- Local dev repo (working version) (ENV : development)
        +-- Prototype repo (prototyping repo) (ENV : prototype)

.htaccess我想编辑的部分如下(文件的第一行):

# Application var
SetEnv APPLICATION_ENV development

我不介意运行python脚本(或任何其他语言)我正在寻找正确的钩子来放入.hg\hgrc文件

4

1 回答 1

1

这不是正确的做法,因为这会改变实际文件。您所做的下一次提交实际上会将更改提交到您的存储库。

相反,推荐的方法是执行以下操作:

  1. 制作一个模板文件,并将其提交到您的存储库,即。.htaccess.template
  2. 将实际文件添加.htaccess.hgignore文件中以使 Mercurial 避免它
  3. 在本地,从模板文件复制到实际文件,然后编辑

这确保了对实际文件的更改,无论它们是什么,都不会提交到您的存储库。

一些配置系统还支持条件包含,因此您可以使用类似if extra config file X exists, load X as well的内容,然后您可以执行以下操作:

  1. 将实际文件提交到存储库,但使其成为准系统,包含默认值
  2. 用这样的包含语句结束文件
  3. 将要包含的文件的名称添加到.hgignore文件中,这样您就不会将此类文件提交到存储库

这将确保任何人都可以通过添加他们自己的将包含的文件版本来添加或覆盖默认配置。

于 2011-05-26T17:23:31.363 回答