更强大的svn更新

时间:2014-02-18 20:18:12

标签: svn scripting svn-update

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的最新版本在某种程度上修复了这个问题,使得存储库只在一个小的时间段处于不一致的状态,但是能够强制更新重试仍然是件好事。失败时。

是否已有人为此针对基于脚本的解决方案进行了攻击?有人想破解它吗?

1 个答案:

答案 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集成会很好,但我可以更改我的工作流程以进行大更新。

希望其他人有一天发现这个有用!