2011-08-11 18 views
0

SVNコミット時にweb.configファイルがコミットされないようにすることはできますか?私は次のSVNグローバル無視パターンセットを持っているが、それでもそれを防ぐことはありません。 "* .config"を "web.config"に置き換えると、それでもそれを防ぐことはできません。SVNでweb.configがコミットされないようにする

http://screencast.com/t/fLKoZhYykYG

グローバル無視パターン:

*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store */bin */obj bin obj aspnet_client *.tmp */legacy legacy *.suo *.user *.config 

=====================

単純な答え(たとえ以下のユーティリティは非常に良いです):

Web.configファイルを右クリックし、[削除して無視リストに追加]を選択します。ファイル上のアイコンが赤色の「X」に変わります。その後、変更をコミットします。物理ファイルは削除されませんが、SVNから削除されるので、それ以上コミットしません。

答えて

1

グローバルは、あなたが誤ってはそれらを追加しないので、あなたは、あなたのリポジトリにしたくないファイルタイプのために実際にある無視します。だから彼らはすべてのサフィックスです。プラス、彼らはそのマシンのためだけですので、実際にそれを実施する方法はありません。svn:ignoreを各ディレクトリに設定することができ、追加しない特定のファイルやディレクトリに設定することができます。

無視してsvn:ignoreは、リポジトリにまだ存在しないファイルに対してのみ機能するため、web.configがすでに存在する場合は使用できません。そして、リポジトリにそのファイルを意図していることを意図的に指定するのを止めることはありません。基本的に、グローバルに無視されるファイルには? svn statusを実行した場合は、svn add *を追加すると追加されません。しかし、いつでもsvn add web.configを実行することができ、それはあなたのリポジトリに追加されます。

本当に追加されていないことを確認したい場合は、私のプリコミット「キッチンシンク」フックを使用できます。このフックスクリプトはさまざまなタスクを実行します.GlobまたはRegexのパターンに基づいてファイルを禁止することができます。誰かがsvn add web.configを実行してコミットしようとすると、このプリコミットフックはトランザクションを禁止します。

私は最近スクリプトを書き直しました。あなたはdownload itとして試してみることができます。 Perlが必要ですが、オプションのモジュールを必要としないようにスクリプトを書いていますので、インストールは非常に簡単です。あなたがUnixシステムを使っているなら、5.8のPerlはうまく動作するはずです。 Windowsでは、ActiveState PerlまたはStrawberry Perlをダウンロードでき、プリコミットフックは問題なく実行されます。

私は、さまざまなVisualStudioユーザーファイル、またはbin/objとbin/releaseディレクトリにユーザーが追加されないように、フックスクリプトを使用します。また、/ targetディレクトリに誰かが追加されないようにします。また、ユーザーがタグを作成することができますが、タグの編集はできません。

+0

ポストに感謝します。私はしばらく時間がかかると、これを試してみます。 – MacGyver

+0

これはかなり素晴らしいです!あなたはどの都市に住んでいますか?私はあなたにビールを買うことができますか? :-) – MacGyver

+0

Davidさん、あなたのツールでSVNにコミットされたファイルを削除または変更できますか?理由は私が尋ねる理由は、私たちの会社が新しいPCI(セキュリティ)ポリシーを持っていて、SVNのweb.configに機密情報を保存することができないからです(つまり、接続文字列のパスワード、webの特定の値)。設定ファイルなど)。これまでに尋ねられたことはありますか?おそらくすでにコミットされていた古いコードを扱うことができますが、わかりやすくなると思います。 – MacGyver

0

Web.configファイルを右クリックし、[削除して無視リストに追加]を選択します。ファイル上のアイコンが赤色の「X」に変わります。その後、変更をコミットします。物理ファイルは削除されませんが、SVNから削除されるので、それ以上コミットしません。

関連する問題