当svn update
失败时,通常需要在恢复更新之前执行svn cleanup
。如果经常出现故障,这可能会非常烦人。
我正在寻找一种方法来使SVN更新命令更加健壮。理想情况下,如果有--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的最新版本在某种程度上修复了这个问题,使得存储库只在一个小的时间段处于不一致的状态,但是能够强制更新重试仍然是件好事。失败时。
是否已有人为此针对基于脚本的解决方案进行了攻击?有人想破解它吗?
答案 0 :(得分:1)
在处理了这个问题一段时间后,它最近再次出现了问题,我选择了快速而又脏的解决方案(仅限Windows / DOS):
:Beginning
@ECHO ON
svn cleanup %1
svn update %1
@ECHO OFF
IF ERRORLEVEL 1 GOTO Beginning
我把它命名为angry-update.bat并且卡在我的脚本中#34;文件夹(在我的PATH中)。 Shell集成会很好,但我可以更改我的工作流程以进行大更新。
希望其他人有一天发现这个有用!