2009-07-20 4 views
3

私はソロの開発者として働いていたdjangoプロジェクトを持っており、TortoiseSVNを使用してコードを作業用サーバ上のリポジトリで管理しています。私はこれをdjangoなどのローカルインストールに取り組んでいます。SVNリポジトリから単一のプロジェクトファイルを除外する

このプロジェクトを担当する2人目のユーザーと、他のPCで作業する可能性があります。

今のところ、このプロジェクトの開発版(ブランチ?)は1つだけですが、使用されている各コンピュータで設定ファイル(settings.py)が異なる必要があります。私はこのファイルのローカルバージョンを1つずつ作成し、それぞれのPC上で再作成する必要はないはずです。

この1つのファイルを除外するようにリポジトリを設定するにはどうすればよいですか(TortoiseSVN内)。例えば。リポジトリにsettings.pyを含めないでください。チェックアウトが発生すると、ローカルフォルダ内のすべてのファイルは更新されますが、settings.pyのローカルコピーは変更または削除されません。コミットが発生すると、settings.pyは無視され、アップロードされません。

現在、settings.pyはプロジェクトフォルダ/リポジトリ内の他のファイルと同様に上書き/更新されます。

正しい方向のどんな振る舞いも便利です - 私はSVNには新しく、これが分岐の詳細な理解を必要としているのか、より単純な方法があるのか​​を知りたいと思っています。あなたがあなたのファイルをコミットしようとすると、ファイル一覧ダイアログで、右のファイルをクリックして無視するオプションを探し

感謝のTortoiseSVNで

答えて

4

、。完全なファイル名または拡張子で無視することができます。

ファイルがリポジトリに既に存在し、そこから削除して無視する場合は、ファイルを右クリックし、TortoiseSVNメニューで[削除して無視リストに追加]オプションを探します。

+0

この操作では、次の更新時に他のユーザーからもこの操作が削除されることに注意してください。 Svnは新しいバージョンで--keep-localスイッチを持っていますが、それは同じ問題を抱えています。ローカルコピーを残すことになりますが、他の人はそれを失います。 – Rytmis

+0

私は、各ローカルコピーをバックアップし、リポジトリからファイルを削除/無視し、各マシン(ファイルを削除する)にリポジトリをチェックアウトし、バックアップローカルコピーをローカルフォルダに戻し、それ以来、コミット/チェックアウトは意図どおりに機能しますか?または、各ローカルアップデートでファイルが削除されますか? – meepmeep

+0

他のマシンにまだ作業コピーがない場合は、すべて問題ありません。彼らが持っていて、設定ファイルを持っているなら、コピー/更新/コピーバックダンスをすることはそのトリックを行います。更新はファイルを1回だけ削除します(これは、一度だけローカルコピーの保留中の変更です)。 – Rytmis

2

典型的な解決策が言っbgever行うことですいくつかのガイダンスがでTortoiseSVNのでそれを使用することにあります

設定ファイル自体を無視して、試験でファイルをコミットする値はsettings.py.exampleです。このファイルは、設定を追加または削除するときにのみ更新する必要があります。展開するときは、それをsettings.pyにコピーして値を編集します。

関連する問題