2009-10-08 6 views
6

私の状況は次のとおりです。私は自宅でSubversionサーバーを設定しており、私が働く会社でSubversionを使用しています。Subversion:コミット時にプロパティを削除する方法

ロックイン/編集/ロック解除モデルを使用しています(主に、Visual SourceSafeから移行しているので、今の方が簡単です)。現時点では、追加されたすべてのファイル(各クライアントマシンのSVNクライアント設定ファイルのauto-propsセクションを使用)で 'needs-lock'プロパティを設定することで、これが実現します。

しかし、私はこのモデルを私のホームSVNサーバに使用したくない(私は編集/マージ/コミットの作業方法を好む)ので、現在は自分の仕事用PCからホームサーバに何かをコミットした後、追加したファイルからneeds-lockプロパティを手動で削除する必要があります。

特定のサーバーにコミットされたファイルにのみこのプロパティを適用するようにSVNクライアントを設定する方法はありますか?それとも、私は間違った方法をとっていますか?クライアントの代わりに、このプロパティを追加するために作業サーバー上でフックを使用する必要がありますか?

何か助けやアドバイスをいただければ幸いです。

編集:明らかに、サーバーでこれを行うことはできません(または、そうしないことを強く推奨します)。

+0

YUCK!これを変更するために職場で戦ってみましょう! –

+0

私は知っている...私は知っている... –

+0

最悪の部分は、私はそれを設定した... –

答えて

3

Subversionのautoprops機能は、SVNクライアントのconfigファイルで設定されています。サーバー固有の設定をサポートする別のservers構成ファイルもありますが、残念ながらそこにあるautopropを上書きすることはできません。

config:config.homeconfig.workの2つのバージョンを作成することをお勧めします。その後、コンフィグをコピーするシェルスクリプト(.batファイルなど)を作成します。これにより、両方の構成間で素早く簡単に切り替えることができます。

+0

それは良い計画だ。 –

7

もう少しWindowsバッチファイルを作成して、すでに設定されているフォルダからneeds-lockプロパティを再帰的に削除しました。 remove-needs-lock.batとしてそれを保存し、それはあなたのPATH環境変数に場所だ追加

svn propdel svn:needs-lock -R -q "%1" 
svn commit "%1" -m "Removed needs-lock" 

:テキストファイルにこれらの行を入れてください。次に、実行することができます:

remove-needs-lock c:\workingcopyfoldername 

そして、すべてのファイルをロックする必要はありません編集する。

関連する問題