2011-07-15 12 views
2

VisualSVNリポジトリでコミット後のフックを使用すると、TortoiseSVNが "コンテンツの送信"でハング(フリーズ)します。以下はフックです:コミット後のフックを使用するとTortoiseSVNがハングする

cd C:\Sysinternals\ 

PsExec \\\OtherComputer TortoiseProc /command:update /path:"C:\MyPath\" /closeonend:4 

コンテンツは送信されますが、ローカルアップデートが必要です。または、期限切れとマークされています。何か案は?

+0

コマンドラインクライアントで正常にコミットできますか? –

+0

/command:commitを使用すると、Commit GUIが表示されます。別の方法がありますか?しかし、いいえ、/ command:commitを使用すると同じ動作になります。 ところで、フォーマットの助けをいただきありがとうございます。 – Chris

+0

私は[コマンドラインクライアント](http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.commit.html)を意味します。まだ持っていない場合はhttp://www.sliksvn.com/en/downloadで入手してください。 –

答えて

1

これはローカルフックのようです。私はあなたがそのようなPsExecを使用することはできないと思う。私はあなたが他のコンピュータでPsExecセッションを開いていると思うし、それだけでそこに座っている。スクリプト内の次の行を表示する方法はありません。すなわち、TortoiseProcはPsExecに供給されない。
他のマシンにSVNクライアント(コマンドラインクライアント)をインストールする必要があると思います。

c:\sysinternals\PsExec \\OtherComputer c:\updateme.bat 
2

フックスクリプトが成功コミット作るために最初に終了するがあります。その後、あなたが(すべて1行に)このような何かを行うことができ、そのマシン上に置き、batファイル(updateme.bat)を作ります。クライアントはそれを待たなければなりません。あなたのフックスクリプトが時間がかかりすぎたり、まったく完了しなかったりすると、コミットがハングアップするように見えます。 フックスクリプト自体がすぐに終了するように、別のプロセスで長時間実行コマンドをフックスクリプトで開始しようとすることができます。

ただし、OtherComputerがコミットしようとしているコンピュータで、スクリプトが非常に同じ作業コピーを更新しようとすると、それは役に立たないでしょう。更新はコミットが完了するまで待たなければなりません。コミットは、アップデートを実行しているフックスクリプトが終了するのを待ちます。デッドロックが発生しています。

関連する問題