使用Cygwin下的git 2.8.2和svn 1.9.4,在克隆我们的存储库时git svn clone,我在某个提交中遇到了一个砖墙:
r3640 = eb94... (refs/remotes/svn/trunk)
Found possible branch point: https://.../repo/<branchname> => https://.../repo/branches/<branchname>, 3641
Initializing parent: refs/remotes/svn/<branchname>@3641
Error from SVN, (175009): Malformed network data: The XML response contains invalid XML: Malformed XML: no element found
Run Code Online (Sandbox Code Playgroud)
观察#1:当克隆时-r3600:HEAD,即从最近足够的提交中,操作成功.繁琐的实验表明,在有问题的提交之前,从大约100个修订开始克隆时会出现问题.
观察#2:这似乎只发生在以上形式的分支上:在repo根中错误地创建repo/<branchname>,然后移动到repo/branches/<branchname>
有什么问题以及如何解决?
解决方案:扩大您的--log-window-size价值(默认值:100).
警告:较大的窗口大小禁止使用许多新添加的文件获取提交:
实际上,受影响的提交中有8430个新文件.
这一切都在Cygwin下,我无法在Linux上重现这些问题,因此您的里程可能会有所不同.
我注意到导致错误的观察修订距离与git svn fetch --log-window-size选项的默认值之间存在相似性:两者都是100.
使用4000的日志窗口解决了我的问题,其他人使用更大的值来加速初始克隆/获取操作.
我在问题修订和使用之前克隆了10个版本来验证这个问题--log-window-size=1- 它再次失败了.
有趣的是要知道这是预期的行为还是git-svn方面的错误,正如--log-window-size记录加速克隆/获取操作,而不是修复某些分支问题的必要性.
| 归档时间: |
|
| 查看次数: |
1546 次 |
| 最近记录: |