2011-02-08 8 views
0

マシンに依存する情報(dbユーザー名、パスワード、パス)を含む設定ファイルがプロジェクトにあります。私は、この特定のケースでは、誰もが同じユーザ名、dbパス、およびパスワードを使用してこれを簡単に保つことができると理解していますが、この問題に対処する別の方法が必要です。バージョンマシンに依存するものごとにファイルを制御する

私は水銀を使用していますが気にしていますが、あなたがhgの詳細に精通していない場合は理論的な答えで大丈夫です。

答えて

1

これを処理する一般的な方法は、バージョンコントロールの下にconfig.exampleなどを置き、ユーザーにそれをコピーして必要な変更を加えることです。これにより、ユーザーは、ローカル変更を上書きすることなく、ファイルの全体構造をリポジトリからプルダウンすることができます。

また、設定ファイルにデフォルトのみを指定し、ユーザが提供する可能性のある優先度の高いカスタム設定ファイル(同じ形式)から変数のサブセットを取得することもできます。

+1

これは、これが最も賢明で頻繁に処理される方法です。あなたはテンプレートを提供し、実際に相談されたファイルにそれをコピーします。その後、新しいオプションを追加すると、テンプレートに更新が反映されます。必要に応じて、インストール/配布スクリプトで自動的にコピーを実行させることができます。さもなければ、あなたのreadmeの最初のステップにしてください。 –

0

PHPプロジェクト用のマシンデータベースがあります。私がやることは、実行時にホスト名をチェックすることです。 1つのホストであれば、特定の資格情報を入力します。別の場合は、別の資格情報を入力します。

一部のシステムでは、資格情報の一覧を作成して、接続の1つが機能するまで試行しています。リストが使い尽くされた場合、接続はできません。

1

.hgignoreファイルを使用して、リポジトリに設定ファイルを含めないでください。

これにより、誰もが独自のバージョンの設定ファイルを持つことができます。

基本的に、設定ファイルに相対パスを追加するだけで、Mercurialコマンドは無視します。だから、ファイルは次のようになります。

config/dbconfig.ext 

編集
私はちょうどあなたがまだバージョンの設定ファイル(質問を誤解)を制御することができるようにしたい実現します。ですから、自分の設定ファイルに依存するconfigファイルの部分を移動し、上の修正を適用することをお勧めします。そうすれば、バージョンコントロールの下に通常の設定情報を残しておき、その一部を各自のマシンごとに分けておくことができます。

0

このタイプの設定ファイルを扱うための確かな方法はありませんでした。私の最終的な解決策は、各ファイルのバージョンを維持し、シンボリックリンクを使用することでした。そうすれば、各サーバーは同じファイルパスを持ちますが、ルートファイルは異なります。

0

あなたの設定ファイルに何が入っているのかわからないのですが、あなたのファイルにはマシンに依存するもの(dbパスワード、パスなど)とは異なるものがあると仮定します(dbホスト名、マシン単位で設定されたパスを基準にしたパスなど)

この場合、設定ファイルを再設定して2つの設定ファイル共通のもののために、マシン固有のもののために1つ。共通のチェックボックスをオンにし、マシン固有の設定をignoreファイルに追加します。

+0

これが分割できない特定のファイルの場合はどうなりますか。ファイルのように、ビジュアルスタジオは標準的なファイルを期待していますか? –

関連する問題