指定されたファイル(パス)がリポジトリにコミットするのを防ぐことは可能ですか?
たとえば、somepath/database_config.php
コミットする必要はありません。
プロパティを使おうとしましsvn:ignore
たが、リポジトリではなく、作業コピーでしか動作しないようです。
この機能についてsvnbook.red-bean.comを読んだことがありますが、私の脳は、物事が思ったように機能しない理由を本当に理解できないと感じています。
指定されたファイル(パス)がリポジトリにコミットするのを防ぐことは可能ですか?
たとえば、somepath/database_config.php
コミットする必要はありません。
プロパティを使おうとしましsvn:ignore
たが、リポジトリではなく、作業コピーでしか動作しないようです。
この機能についてsvnbook.red-bean.comを読んだことがありますが、私の脳は、物事が思ったように機能しない理由を本当に理解できないと感じています。
参考:svn:ignore
無視するファイルがリポジトリにない場合にのみ機能します。
構成ファイルをリポジトリに追加するときに行うことは、リポジトリに保持されるテンプレート ファイルを作成し、各開発者に固有の構成ファイルを無視することです。したがって、コードをチェックアウトする人は、.template
拡張子を付けずにテンプレートの名前を変更し、そのローカル構成をテンプレートに配置する必要があります。
そうすれば、すべての開発者が全員に影響を与えることなく、異なる構成を持つことができます。
例: テンプレート ファイル: database_config.php.template
$config = array(
'host' => 'XXXX',
'db' => 'XXXX',
'user' => 'XXXX',
'password' => 'XXXX',
);
構成ファイル: database_config.php
$config = array(
'host' => 'XXXX',
'db' => 'XXXX',
'user' => 'XXXX',
'password' => 'XXXX',
);
これらの svn コマンドを作成して、リポジトリに追加します。
// Add the template
svn add database_config.php.template
// Ignore the config file used by the system (Should not be in repository)
svn propset svn:ignore "config.php" .
svn commit
このコマンドを使用しsvn lock
て、リポジトリ内の特定のファイルまたはパスが変更されないようにすることができます。したがって、特定のファイルがコミットされないようにするには、空のファイルをコミットしてから(または、「このファイルをコミットしないでください。構成はローカルマシンでのみ行う必要があります」を含む)、ファイルをローカルに変更して、必要なコンテンツは何でも。
ファイルをロックした後、他の人がロックやファイル自体を変更できないように制限できますが、その時点で、開発者が明らかにロックすることを目的としたファイルをいじっている場合は、それらを叩き始めます。そのリポジトリへのすべての書き込みアクセスを削除することを検討してください。