1

誰か(私!)がパブリックデータベース接続文字列を含むファイルを誤ってGoogleCodeにコミットするのを防ぐテクニックを知っている人はいますか?(DBスキーマを更新するために)ローカルマシンからデータベースでいくつかの単体テストを実行する必要がありますが、パブリックDBを指すように接続を変更したことを忘れて、コードをチェックインすることを心配しています。 SVN。

もちろん、それは最初に起こる可能性は低いですが、おそらく5〜10回後に起こります。

これを処理する最も簡単な方法は何ですか?

4

4 に答える 4

2

私は通常、パスワードを含まないmyapp.config.defaultのようなデフォルトの構成ファイルを作成し、実際の構成ファイルの代わりにそのファイルをリポジトリに追加します。

于 2009-03-25T11:49:21.493 に答える
2

これが私がWebアプリに使用するソリューションです。まず、svnのWeb.configファイルには、変更される可能性のある重要な情報が含まれているため、無視したくありません。したがって、接続文字列をWeb.Configから引き出し、WebCS.configというファイルに配置してから、SVN .ignoreディレクティブを使用して、その1つのファイルだけをチェックインしないようにします。

これを行うには、Web.Configに次の「include」行を配置します。

 <connectionStrings configSource="WebCS.config"/>

次に、WebCS.configファイルを作成し、次のように入力します。

<connectionStrings>
<add name="ConnString" 
         connectionString="Data Source=YourServer;Initial Catalog=YourDB;etc..
         providerName="System.Data.SqlClient"/>
</connectionStrings>

これにより、Webサイトの更新も簡単になります。WebCS.configファイル以外のすべてをアップロードするだけです(サイトを「公開」した後にファイルを削除するバッチファイルがあります)。これにより、すべてのWeb.Configファイル設定が接続文字列をいじることなく実行され、リポジトリに重要なファイルが欠落しておらず、接続文字列が公開されないことが保証されます。 。

于 2009-03-25T12:08:18.407 に答える
1

構成データをローカル構成ファイル(ホームディレクトリ内のファイル)で上書きできるようにします。アプリケーションロジックに、構成ファイルを見つけるための場所の階層を含めます。

于 2009-03-25T11:53:41.467 に答える
1

Emil Hの2 番目の提案に 1 つ追加します。正しい構成ファイルをsvn:ignore -property 経由で無視する必要があります。

たとえば、構成ファイルは次の場所にある必要があります。

./config/app.conf

次に、Subversion のこのファイルを無視する必要があります。

svn propset svn:ignore "app.conf" ./conf

app.conf を app.conf.example にコピーし、このファイルを subversion に追加します: cp app.conf app.conf.example svn add app.conf.example

これで、Subversion は app.conf ファイルをリポジトリに追加しようとしなくなりました (また、同僚が誤ってこのファイルをコミットすることもありません!)

于 2009-03-25T12:00:07.083 に答える