代码之家  ›  专栏  ›  技术社区  ›  Glenn

使用msysGit的buildbot导致间歇性的datastream错误

  •  1
  • Glenn  · 技术社区  · 15 年前

    C:\Program Files\Git\bin\git.EXE fetch -t file:///s:/Repositories/repo +master

    s: 是buildbot从属服务器上映射的debian服务器上的samba共享。

    它断断续续地失败(每50次构建一次),错误如下:

    error: inflate: data stream error (incorrect data check)
    fatal: pack has bad object at offset 26936: inflate returned -3
    fatal: index-pack failed
    fatal: write error: Invalid argument
    

    有人知道是什么原因造成的吗?我们怎么解决它?

    1 回复  |  直到 15 年前
        1
  •  0
  •   VonC    15 年前

    此问题的偶然性可能导致外部原因,如硬件原因(磁盘或内存损坏)。
    看到了吗 this thread 例如。他们试着 a all process 正确地重新克隆坏的repo,但这是针对旧的git 1.5,所以它可能不再准确了。
    我把这个过程留在这里只是为了了解情况。

    显然,获得正确克隆的最简单方法是:

    1/初始化一个新的空存储库,
    2/添加“原点”遥控器: git remote add -f origin http://repo.or.cz/r/msysgit.git
    3/尽管出现错误,请继续手动获取包:

    (cd .git/objects/pack/ && curl -O \
    
    http://repo.or.cz/r/msysgit.git/objects/pack/pack-5b51af9cb1b1122d27ddd53d40a8c3e4472ae9e4.pack)
    

    4/使用附加的捆绑包添加未损坏的对象:
    git bundle unbundle borked.bundle .
    5/现在再次从“原点”取回(以正确更新引用): git fetch origin

    find .git -name \*.temp -exec rm {} \;
    

    7/现在,'git gc'

    如果你已经结帐了,你也许可以用4,6和7离开。

    推荐文章