android源码sync error

问题描述

第一次执行 repo sync 同步android源码(JZO54L)时,出现:

Syncing work tree:  51% (150/293)  error: unknown object type 0 at offset 1112285 in .git/objects/pack/pack-3dccdbf2aeeb0df599ca5b3fee5350792195400a.pack
fatal: packed object 881c2ee8b85886db32ad1276c20e7ac7d72b98ef (stored in .git/objects/pack/pack-3dccdbf2aeeb0df599ca5b3fee5350792195400a.pack) is corrupt
Traceback (most recent call last):
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/main.py", line 531, in <module>
    _Main(sys.argv[1:])
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/subcmds/sync.py", line 821, in Execute
    project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/project.py", line 1327, in Sync_LocalHalf
    self._InitWorkTree(force_sync=force_sync)
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/project.py", line 2486, in _InitWorkTree
    raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree

解决方案

执行

$ repo --trace sync -cdf

 命令行持续打印,直到出现下面这段后停止。

: cd /media/zhou/LI/Android/JZO54L/external/srec
: git read-tree --reset -u -v HEAD 1>| 2>|
error: unknown object type 0 at offset 1112285 in .git/objects/pack/pack-3dccdbf2aeeb0df599ca5b3fee5350792195400a.pack
fatal: packed object 881c2ee8b85886db32ad1276c20e7ac7d72b98ef (stored in .git/objects/pack/pack-3dccdbf2aeeb0df599ca5b3fee5350792195400a.pack) is corrupt
Traceback (most recent call last):
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/main.py", line 531, in <module>
    _Main(sys.argv[1:])
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/subcmds/sync.py", line 821, in Execute
    project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/project.py", line 1327, in Sync_LocalHalf
    self._InitWorkTree(force_sync=force_sync)
  File "/media/zhou/LI/Android/JZO54L/.repo/repo/project.py", line 2486, in _InitWorkTree
    raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree

所以/external/srec出现问题。

解决:

在可见文件下,将这个目录“/external/srec”删除。

然后在命令行下,将下面两个目录删除。

.repo/projects/external/srec.git

.repo/project-objects/platform/external/srec.git

$ cd .repo
$ cd projects
$ rm -rf external/srec.git
$ cd ..


$ cd project-objects
$ cd platform
$ rm -rf external/srec.git

 最后再 repo sync完成同步。

 

参考

https://blog.csdn.net/ly890700/article/details/54848373

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值