2009-03-25 15 views
1

誰か(私!)が間違ってパブリックデータベース接続文字列を含むファイルをGoogle Codeにコミットするのを防ぐ方法を知っている人はいませんか?ローカルマシンから(DBスキーマを更新するために)ユニットテストを実行する必要がありますが、パブリックDBを参照するように接続を変更したことを忘れてしまいます。 SVN。DBパスワードを誤って公開SVNにチェックインしないようにする

もちろん、最初は起こりそうにないかもしれませんが、おそらく5回か10回後です。

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

答えて

1

I二1に加えて提案エミールH:あなたはSVN経由で無視すべきでは : -property正しい設定ファイルを無視

例えば、あなたの設定ファイルは存在する必要があります上:

./config/app.conf 

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

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

とapp.conf.exampleとSubversionにこのファイルを追加するapp.confをコピー: cpがapp.conf app.conf.example のsvn app.conf.example

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

2

私は通常、myapp.config.defaultという名前のデフォルト設定ファイルを作成します。パスワードは含まれておらず、実際の設定ファイルではなくリポジトリにそのファイルを追加します。

1

ローカルの設定ファイル(ホームディレクトリのファイル)によって設定データを上書きすることができます。アプリケーションロジックには、設定ファイルの場所を知る場所が含まれています。

2

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

、web.configファイルの行 "が含まれる" 次置く:WebCS.configファイルを作成し、その後

<connectionStrings configSource="WebCS.config"/> 

を、次のように入力します

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

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

関連する問題