2014-02-18 78 views
1

svn update失败时,在恢复更新之前经常需要执行svn cleanup。如果失败频繁发生,这可能会非常烦人。更强大的svn更新

我正在寻找一种方法使SVN更新命令更健壮。理想情况下,如果有--cleanup-and-continue-on-failure开关,这将会很好,但我没有看到文档中看起来会有帮助的任何内容。有没有我可以使用的工具,而不是命令行或乌龟,这会为我做到这一点?

仅供参考,以下是引起我的悲哀的特定错误,听起来像可能是由于连接中断造成的。它们通常是在全新结账期间几十个文件被拉下之后发生的,大约每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

我在想这是服务器或你的网络连接的一个更大的问题,你应该解决这个问题(因为这看起来很不正常)。 – crashmstr

+0

这当然是真的,但在我的情况下,这是我连接到的服务器,而不是我正在运行的服务器。无论如何,我认为我的工具应该能够应对不好的情况,而不是在我的终端上呕吐,并要求保姆。 – WCWedin

+2

我会报告这个错误。由于错误,我们不应该让工作副本处于不一致的状态。只有当客户端中断时(无法让工作副本保持一致状态)或崩溃,才需要清理。发送电子邮件至[email protected],并[尽可能详细地说明如何重现您遇到的问题](https://subversion.apache.org/docs/community-guide/issues.html #报告臭虫)。 –

回答

1

处理这个问题了一会儿后,就来到了一个头最近一次我去的快速和肮脏的解决方案(仅适用于Windows/DOS):

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

我把它命名为愤怒的更新。蝙蝠并卡在我的“脚本”文件夹(这是我的路径)。壳集成将很好,但我可以改变我的工作流程以获得重大更新。

希望有人认为有用的一天!