7

私の状況は次のとおりです。自宅に Subversion サーバーをセットアップしており、勤務先の会社でも Subversion を使用しています。

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

ただし、このモデルを自宅の SVN サーバーに使用したくないため (編集/マージ/コミットの作業方法を好みます)、現在、職場の PC から自宅のサーバーに何かをコミットした後、手動で削除する必要があります。私が追加したファイルのニーズロックプロパティ。

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

どんな助けやアドバイスも大歓迎です。

EDIT:どうやら、サーバー上でこれを行うことはできません(または、少なくともそうしないことを強くお勧めします)。

4

2 に答える 2

10

needs-lockまた、既に設定されているフォルダーからプロパティを再帰的に削除するための小さな Windows バッチ ファイルも作成しました。次の行をテキスト ファイルに入力します。

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

として保存しremove-needs-lock.bat、その場所を PATH 環境変数に追加します。次に、実行できます:

remove-needs-lock c:\workingcopyfoldername

さらに、すべてのファイルを編集するためにロックする必要がなくなりました。

于 2009-10-08T18:03:45.447 に答える
3

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

config.homeconfig.workの 2 つのバージョンの構成を作成することをお勧めします。次に、それらの 1 つをconfigにコピーするシェル スクリプト (たとえば .bat ファイル) を記述します。これにより、両方の構成をすばやく簡単に切り替えることができます。

于 2009-10-08T13:26:30.563 に答える