2009-08-04 4 views
2

にチェックイン/、 特に、このファイルをチェックアウト新しい上のすべてのファイルを取得しますが、その後の更新から特定のファイルを除外:など/ config.iniのをSVN/Subversionは:私はすべてのファイルを取得したい、新鮮なチェックアウトした後

しかし、etc/config.iniを変更すると、 "svn commit ..."でコミットしたくないし、 "svn up"で元に戻すべきでもない。

これにより、初期チェックアウト時(コンフィギュレーション上の規則)にデフォルト値を取得できますが、設定後にこれらの「ローカル」設定ファイルがsvnにコミットされないようにします。

+0

'また、「svn up」で元に戻す必要はありません。これが可能であると思われる場合は、あなたのツールを誤解しています。 Updateは、最後の更新以降リポジトリからの変更をダウンし、ローカルコピーにマージします。そうすることで、ローカルの変更を上書きすることはありません。最悪の場合、解決する必要がある競合が発生する可能性があります。 http://svnbook.red-bean.com/nightly/en/svn.tour.cycle.html#svn.tour.cycle.resolve – bendin

+0

皆さん、ノイズを発生させ、何も答えないコメントを削除/クリーンアップしてください。 Tnx –

答えて

5

これを行う最善の方法は、ファイルを直接バージョン管理することではありません。

この問題を回避する一般的な方法は、svn:ignoreプロパティでconfig.iniを無視し、バージョン管理下にconfig.ini.sample(またはその行に沿ったもの)を指定することです。

次に、チェックアウト後、config.ini.sampleからconfig.iniまでコピーしてください。この方法で、テンプレートの設定ファイルをバージョン管理することもできます。

+0

はい、それはたくさんのコピーです。あなたがエンドユーザであれば、デフォルト設定であってもチェックアウト時に即座に作業したいと思っています。 –

+0

@russian_spy:あなたがチェックアウトを実行するのに十分スマートな人なら、1つのファイルをコピーする方法を見つけることができます。 – jason

1

TortoiseSVNおよび/またはVisualSVN(> = 1.5)を使用する場合は、これらのファイルをchangelist 'ignore-on-commit'に移動できます。これにより、ファイルはコミットダイアログの別のセクションに表示され、コミットのために自動的に選択されることはありません。

明らかに、これはTortoiseSVN固有の解決策です。

1

ジェイソンは既に一般的に受け入れられている解決法(SVNの人々自身によって促進されたもの)にヒットしましたが、クライアントとしてTortoiseSVNを使用している場合は別の選択肢があります。コミットダイアログが表示されたら、コミットしたくないファイルを右クリックして、チェンジリストに追加 - >コミット時に無視を選択します。コミットするたびにコミットダイアログに表示されますが、デフォルトではチェックが外されているため、明示的にボックスをチェックしない限り、実際にコミットされません。繰り返しますが、Tortoiseにのみ便利です。したがって、Tortoise以外のクライアントで同じWCを使用すると、誤ってコミットすることになります。

+0

これは良い選択肢であり、注意点があります。私はコマンドラインクライアントだけを使用するので、私はそれを考えたことがないだろう。 – jason

関連する問題