1

私は現在、管理下にあるプロジェクトに取り組んでおり、アプリケーションが実行/構成をロード/データベースに接続する必要がある「モード」に合わせて変更しないようmercurialに、更新時にファイルを編集するためのフックを取得しようとしていました。.htaccessAPPLICATION_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実際のファイルをファイルに追加して、.hgignoreMercurial がそれを回避するようにします。
  3. ローカルで、テンプレート ファイルから実際のファイルにコピーを作成し、それを編集します。

これにより、実際のファイルへの変更が何であれ、リポジトリにコミットされなくなります。

一部の構成システムは条件付きインクルードもサポートしているため、次のようなことができif extra config file X exists, load X as wellます。代わりに次のようにします。

  1. 実際のファイルをリポジトリにコミットしますが、デフォルト値を含む最小限のファイルにします
  2. そのような include-statement でファイルを終了します
  3. 含めるファイルの名前をファイルに追加して、.hgignoreそのようなファイルをリポジトリにコミットしないようにします

これにより、含まれるファイルの独自のバージョンを追加することで、誰でもデフォルト構成に追加または上書きできるようになります。

于 2011-05-26T17:23:31.363 に答える