40

私は最終的に自分のグループを SourceSafe から Subversion に切り替えました。残念ながら、マネージャーはまだすべてのファイルに排他ロックを使用したいと考えています。そこで、すべてのファイルに svn:needs-lock プロパティを設定し、プロパティが設定されたままになるように pre-commit フックを作成しました。

LinuxサーバーでSubversionを実行しています。私たちのほとんどは Windows マシンを使用しており、Mac を使用している人もいます。さまざまな SVN クライアント (TortoiseSVN、SmartSVN、Subclipse など) を使用しています。

今必要なのは、リポジトリ全体で現在ロックされているすべてのファイル (および誰がロックしたか) を確認するための優れた/簡単な方法です。Tortoise と Subclipse を少し調べてみましたが、探しているものが見つかりませんでした。私たちのプロジェクトには、複数レベルの深さのサブディレクトリが多数あるため、個々のディレクトリを確認するには時間がかかりすぎます。

私が望むのは、現在ロックされているすべてのものと、誰がロックしたかを一覧表示する、実行できる単一のレポートです。この種の情報を取得する最良の方法は何ですか?

4

4 に答える 4

34

あなたが探しているのはsvnadmin lslocksコマンドです。

いくつかの Word 文書を Subversion リポジトリに保持しているため ( svn:needs-lock. 私は毎日、ロックのリストをチェックし、7日以上前のすべてのロックのレポートをチーム全体に電子メールで送信するcronジョブを設定しています。そうすれば、ドキュメントのロックされたコピーを長い間怠けて座っていた人を知ることができます。

于 2008-11-12T19:00:18.157 に答える
22

サーバー上でロックされているすべてのファイルの前にsvn status --show-updatesを配置することにより、ローカル チェックアウトからロックを検出できます。O

例えば

$ svn status --show-updates
     O      279532   LockedFile
?                    UncommittedFile
M           279532   ModifiedFile

詳細については、svnbookを参照してください

于 2012-03-20T11:02:47.663 に答える
22

自分や他の人が保持しているロックを確認するには、TortoiseSVN → 変更の確認... を使用できます。ローカルに保持されているロック トークンはすぐに表示されます。他のユーザーが保持しているロックを確認するには (およびロックが壊れているか盗まれていないかを確認するには)、[リポジトリの確認] をクリックする必要があります。

于 2009-07-22T11:23:29.223 に答える
22

これはあなたが求めている答えではないかもしれませんが、ロックは実際には最良の開発方法ではないことをマネージャーに納得させるようにしてください。このテーマについて書かれたものはたくさんあるので、ここですべてを繰り返すことはしません。

ロック環境からチェックアウト ロックが強制されていない環境に移行すると、最初は混乱につながると思いますが、実際にはそうではありません。SVN は、2 人が同じファイルで作業しているときに変更をマージするのに優れています。競合が発生した場合でも、それらを修正することはそれほど悪くありません。

重要なファイルをチェックアウトして昼食に出かけた人を待ったり、さらに悪いことに休暇に出かけたりするよりはずっとましです。

于 2008-11-12T19:05:17.740 に答える