2010-11-30 60 views
5

Subversion documentationによると:一致するロックトークン

にコミットが終了した後、SVN ステータスがロックトークンが作業コピーに存在もはや ではないことを示しています。 これはSVN の標準的な動作はコミットそれは(あなたが に、このようなリストを提供する場合、またはターゲットのリスト)作業コピー を検索するローカルの修正のためである と にこの散歩中にそれ 出会い、すべてのロック・トークンを送信コミットの一部としてサーバー トランザクション。コミット後に が正常に完了すると、 がコミットされていないファイルであっても、 リポジトリのロックがすべて にリリースされます。これは、 のユーザが、ロックまたはロックを保持していることについて、かすかなものではないようにすることを意味します が長すぎます。この機能の動作を確保しようとして

、私の作業コピーでロックしているファイルの変更コミットしようとしたとき、私は継続的にこのメッセージが表示されます。今すぐ

svn: Cannot verify lock on path '/test/test'; no matching lock-token available

を、私がテストしてみましたこのシナリオは、Windows上の2つの異なる作業コピーとRHEL上の1つの作業コピーで実行され、毎回新しいチェックアウトと同じエラーが発生し、ファイルに対する事前のロックはありません。ファイルのロックを解除してからコミットしても、問題はありません。コミットが発生します。 svn:needs-lockプロパティを使用すると、ファイルのロックを解除する前にコミットしようとすると同じエラーが発生します。

エラーはクライアント側ではなくサーバー側で発生していることは間違いありません。クライアントがローカル認証トークンをSubversionサーバーに戻していない可能性があると私は考えました。しかし、私は3つの異なるクライアント(2つのCLIとSubclipse)でこれを試しました。 3つの異なるクライアントで失敗するため、クライアントがローカル認可トークンをサーバーに戻しているように感じます。ですから、私はこれを解決するためにサーバが必要だと確信していますが、どこで?

+0

のように、 'svn lock test/test; echo "foo" >>テスト/テスト。 svn ci -m 'ロックしている間にチェックインします。' test/test'ロックは失敗しますか? – tobyodavies

+0

UnixとWindowsの両方で(プラットフォームのいくつかの変更を加えて)、このコマンドは 'svn:パス'/test/test 'のロックを確認できません。両方のシステムで「使用可能なロックトークンがありません」というメッセージが表示されます。 – jgifford25

答えて

2

よく質問をしてみましたが、 thisが見つかりました。

ファイルが読み込み専用かどうかをチェックすることです。ファイルがロックされていて、ファイルがロックされていると思っています(実際にはロックされていないため)。 したがって、読み取り専用の場合は、書き込み可能に設定してみてください。

これでうまくいかない場合は、hereをご覧ください。

+0

ありがとう、私はこの問題に関する自分の研究で同じリンクを発見した。申し訳ありませんが、コミットが発生し、作業コピーがロックされている間に破棄されて再作成されていない場合、ファイルは読み取り専用に設定されません。あなたが提供した2つのリンクが示唆しているのではなく、サーバー側で問題がクライアント側にあるのではないかと私は賭けている。 – jgifford25

+0

最初のリンクは現在無効になっています – Royce

0

サーバのリポジトリが破損している可能性があります。サーバ上でsvnadminを使用してリポジトリをダンプし、それを一時リポジトリ内の別のマシンにロードし、一時リポジトリと同じ操作を試みます。

エラーが修正された場合は、古いリポジトリをバックアップし、一時リポジトリに置き換えます。

+0

私はsvnadmin verifyを使ってそのチェックを行いました。これは基本的に出力なしのsvnadminダンプです。リポジトリは健全です。我々はまた、複数のreposを持っており、我々はそれらのすべてで同じ動作をします。ありがとう! – jgifford25

+0

サーバー上のディスク容量を確認しましたか?ファイルパーミッションはどうですか?そして、私はまだ別のマシンにリポジトリをロードすることを提案します(あなたはクライアントでそれを行うことができます)。それがうまくいくと、もう少し知っているだろう。 –

+0

ディスク容量は問題ありません。私がこのサーバをセットアップしなかったので疑わしいファイルのアクセス許可は、本当にSubversionを知らなかった。私は小さなものをたくさん修正しているので、権限は可能かもしれませんが、サーバーがかなりロックダウンされていることを確認することはできません。基本的にchown権限はありません。私は別のマシンにレポをロードしてテストしますが、リソースを追加することなく完全なダンプのために十分なディスクスペースを確保するだけでなく、その間に起こることはない十分なリソースがありません。 – jgifford25

11

私は同じ問題が持っていた:私はロックを「盗む」ことによって、この問題を解決することができました

svn: E160037: Commit failed (details follow): 
svn: E160037: Cannot verify lock on path '/QHG3/trunk/kernel/Activator.cpp'; no matching lock-token available 

を:

svn lock --force AltMoverPop.cpp 
+1

盗難のロックが私のために働いた! – TPAKTOPA

+0

あなたはSubversionのどのバージョンを使っていますか?私はこの投稿時点で、Subversion 1.6.xを使用していたと思います。 – jgifford25

+0

リモートチームと協力してこの問題が発生しました。ロックを盗んで私のために働いた。 –

1

おお男..私は柱に投稿を検索します。 私の問題は「ロックしていません」と同じでした。

右クリック - >ロックを取得 - >「ロックを解除」をチェックしてください。 ファイルを変更してチェックインしました 当分の間、私には、