コミット)、リポジトリにはいくつかのファイルがあります。その内容は、ローカル開発環境によって異なります。SVN原子はハウツー私は
たとえば、database.xml
(dbname、ユーザー名、パスワードなど)。ローカル環境でこのファイルを変更し、コミット/チェックインを行う必要があるたびに、コミットするために必要なすべてのファイル/フォルダを手動でリストアップしています(ローカルに変更されたファイルを除く)。
たぶん、それは間違った設計上の決定とdatabase.xml
は(SVNに格納されている)リポジトリから削除されたとdatabase.xml.template
のために変更する必要があるので、このファイルは手動でそれをsvn add
を実行するまでコミットするために含まれないのだろうか?おそらくそれは間違ったアプローチです - リポジトリにこのような環境依存の情報をすべて格納する - その場合、たとえば変更された設定をコミットすることですべてを破ることができます。
私がそれを理解しているので、svn:ignore
プロパティは役に立ちませんでしたこの状況は、リポジトリに格納されていないファイルに対してのみ使用できるためです。
この問題はどのように解決できますか?
P .:私は、Ubuntuと主にSVNのための純粋なコマンドラインを使用しています。
私は、Subversionに '.template'ファイルを保存し、実際の設定である、変更されたバージョンをローカルに保存することに同意します。開発者は、個人設定以外のために実際の設定ファイルを変更することは決して*決して*行うべきではありません。つまり、ファイルに新しいオプションを追加する場合は、それを '.template'ファイルに追加し、そこから独自の設定ファイルを再作成する必要があります(' .template'から設定を再構築することを自動化するかもしれません)作業を楽にするためのスクリプトを含むファイル)。 –
はい、SVNにdatabase.xml.template、ローカルチェックアウトでdatabase.xml.overrideを使用し、無視して、database.xmlを生成するために2つを結合するスクリプトを使用します。少なくとも、私はスクリプトを書く時間があれば、それはそうでなければ、開発者はdatabase.xml.templateが変更されるたびにdatabaes.xmlに手作業でマージする必要があります。 –
実際、開発者が本当に欲しいと思うのであれば、database.xml.overrideをリポジトリのパーソナルブランチでバージョン管理しているファイルへのハードリンクにして、パーソナル設定を制御することができます。 –