2

svn update失敗した場合、更新を再開する前に実行がsvn cleanup必要になることがよくあります。障害が頻繁に発生する場合、これは非常に煩わしいものになる可能性があります。

SVN update コマンドをより堅牢にする方法を探しています。理想的には、スイッチがあればいいのですが、--cleanup-and-continue-on-failureそれが役立つように見えるドキュメントには何もありません。コマンドラインやTortoiseの代わりにこれを行うツールはありますか?

参考までに、以下は私の悩みの原因となっている特定のエラーです。これらは、接続の中断が原因であると思われます。これらは通常、新しいチェックアウト中に数十個のファイルが取り出された後に、およそ 60 秒ごとに発生します。

svn: E140001: zlib (uncompress): corrupt data: Decompression of svndiff data failed

svn: E175009: XML parsing failed: (200 OK)

svn: E185004: Unexpected end of svndiff input

アップデート:

SVN の最近のバージョンではこれがある程度修正されているように見えますが、リポジトリが一貫性のない状態のままになるのはごく一部の時間だけですが、失敗時に更新を強制的に再試行できるようになればなお良いでしょう。

このためのスクリプトベースのソリューションをハッキングした人はいますか? 試してみたい人はいますか?

4

1 に答える 1

1

しばらくこの問題に対処した後、最近再び頭に浮かび、私は迅速で汚い解決策に行きました (Windows/DOS のみ):

:Beginning
@ECHO ON
svn cleanup %1
svn update %1
@ECHO OFF
IF ERRORLEVEL 1 GOTO Beginning

私はそれを「angry-update.bat」と名付け、「scripts」フォルダー (私の PATH にあります) に入れました。シェルの統合は素晴らしいことですが、大きな更新のためにワークフローを変更しても問題ありません。

うまくいけば、他の誰かがいつかこれが役立つと思うでしょう!

于 2014-04-28T14:53:18.840 に答える