【Repo】repo sync:error.GitError: cannot initialize work tree

摘要:
1.ErrorFetchingprojects:100%(725/725),已完成。Checkingoutfiles:100%(4605/4605),已执行。outfiles:41%(1902/4605)Checkingoutfile:100%(4371/4371),已成功。outfiles:2%(89/4371)Checkingout files:100%

1.Error

Fetching projects: 100% (725/725), done.  
Checking out files: 100% (4605/4605), done.out files:  41% (1902/4605)   
Checking out files: 100% (4371/4371), done.out files:   2% (89/4371)   
Checking out files: 100% (48/48), done.king out files:  35% (17/48)   
Checking out files: 100% (13649/13649), done.ut files:  43% (5897/13649)   
Checking out files: 100% (9868/9868), done. out files:  33% (3318/9868)   
Checking out files: 100% (21681/21681), done.ut files:  14% (3196/21681)   
Checking out files: 100% (5902/5902), done. out files:  40% (2407/5902)   
Checking out files: 100% (278/278), done.ng out files:  48% (134/278)   
Checking out files: 100% (677/677), done.ng out files:  36% (247/677)   
Checking out files: 100% (5491/5491), done. out files:  37% (2055/5491)   
Checking out files: 100% (43496/43496), done.ut files:   6% (2893/43496)   
Checking out files: 100% (16115/16115), done.
Checking out files: 100% (2626/2626), done. out files:  37% (985/2626)   
Checking out files: 100% (3081/3081), done. out files:  45% (1389/3081)   
Checking out files: 100% (33649/33649), done.ut files:   1% (401/33649)   
Checking out files: 100% (2822/2822), done. out files:  25% (725/2822)   
Checking out files: 100% (60891/60891), done.ut files:  12% (7317/60891)   
Checking out files: 100% (4780/4780), done. out files:  22% (1077/4780)   
Checking out files: 100% (3472/3472), done. out files:  44% (1542/3472)   
fatal: failed to unpack tree object HEAD
Traceback (most recent call last):
  File "/home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/repo/main.py", line 500, in <module>
    _Main(sys.argv[1:])
  File "/home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/repo/main.py", line 476, in _Main
    result = repo._Run(argv) or 0
  File "/home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/repo/main.py", line 155, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/repo/subcmds/sync.py", line 675, in Execute
    project.Sync_LocalHalf(syncbuf)
  File "/home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/repo/project.py", line 1170, in Sync_LocalHalf
    self._InitWorkTree()
  File "/home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/repo/project.py", line 2230, in _InitWorkTree
    raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree

2.Solution
①repo --trace sync -cdf将repo的所有动作详细输出:

repo --trace sync -cdf
: unpickle /home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/manifests.git/config
: unpickle /home/lenovosh/.gitconfig
: unpickle /home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/repo/.git/config
: export GIT_DIR=/home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/manifests.git
: git fetch origin --tags +refs/heads/release:refs/remotes/origin/release
: load refs /home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/manifests.git
: scan refs /home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/manifests.git
Fetching project platform/packages/apps/Car/Cluster
: unpickle /home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/projects/packages/apps/Car/Cluster.git/config

: export GIT_DIR=/home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/projects/packages/apps/Car/Cluster.git
: git rev-parse --verify fa927c0de153e238013497a16f64007bfb89a780^0 1>| 2>|
: load refs /home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/projects/packages/apps/Car/Cluster.git
: scan refs /home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/projects/packages/apps/Car/Cluster.git
Fetching project platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8
: unpickle /home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/projects/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8.git/config

: export GIT_DIR=/home/lenovosh/Qualcomm/SourceCode/mirror/SDM845_r00110.1/Android/.repo/projects/prebuilts/android-emulator.git
: git rev-parse --verify cbdfa5df4f2105148cc2fa6ce4ddf3bc1695b488^0 1>| 2>|
: git rev-parse --verify cbdfa5df4f2105148cc2fa6ce4ddf3bc1695b488^0 1>| 2>|
: git fetch caf --tags +refs/heads/ks-aosp.lnx.2.0.r1-rel:refs/remotes/caf/ks-aosp.lnx.2.0.r1-rel
remote: Counting objects: 8539, done.
remote: Compressing objects: 100% (1256/1256), done.
Receiving objects:  58% (4966/8539), 94.70 MiB | 12.00 KiB/s    

error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
: git rev-parse --verify cbdfa5df4f2105148cc2fa6ce4ddf3bc1695b488^0 1>| 2>|
: git fetch caf --tags +refs/heads/*:refs/remotes/caf/*
remote: Counting objects: 8552, done.
remote: Compressing objects: 100% (1269/1269), done.
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: protocol error: bad pack header
: git fetch caf --tags +refs/heads/*:refs/remotes/caf/*
remote: Counting objects: 8553, done.
remote: Compressing objects: 100% (1270/1270), done.

②因此,将prebuilts/android-emulator这个文件夹删除,在.repo/projects下删除.repo/projects/prebuilts/android-emulator.git目录,以及.repo/project-objects/prebuilts/android-emulator.git目录
③最后重新repo sync即可

免责声明:文章转载自《【Repo】repo sync:error.GitError: cannot initialize work tree》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Elastic search 基本使用小黑课堂office二级笔记下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

git工具的使用

1. 增加.gitignore文件   在项目的根目录中添加 .gitignore文件, 在 .gitignore文件中添加要忽略的文件名, 目的是这些文件可以不用上传到代码库.   使用:      因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件.   ...

git 查看最近或某一次提交修改的文件列表相关命令整理

声明 本文转载自:https://www.phpernote.com/linux/1362.html 正文 git 查看最近或某一次提交修改的文件列表相关命令整理。 git log --name-status 每次修改的文件列表, 显示状态 git log --name-only 每次修改的文件列表 git log --stat 每次修改的文件列表, 及...

git如何回滚远程仓库

原文2 使用git管理项目开发的过程中经常会碰到这种情况:某次提交已经push到了远程仓库,可是突然意识到“天哪,我怎么做了这么蠢的事情”。那么问题来了,怎么将远程代码库回滚呢? 在网上看到大部分人给出的解决方案是先将本地回滚,然后删除远程分支,之后再将本地的分支push到远程仓库,这其实是一种很危险的方案,毕竟直接删除远程分支太狠了,不推荐这样做。。。...

在Windows上搭建Git Server

作为版本控制工具大多公司会选用Git,但svn也具有一定的优势,在对开源项目管理方面,Git具有一定的优势,我们可以将自己的项目放到GitHub上面,供大家交流学习,但一些企业项目和需要保密的闭源项目如果选择使用GitHub托管的话就会收取昂贵的费用。 所以对于一些公司项目就需要搭建自己的本地Git服务器,浏览大量网页后发现基本绝大部分Git服务都是在Li...

Gradle在Mac上安装及Idea中配置

前言 笔者在安装Gradle的过程中发现过程有点繁琐且安装教程比较少,因此记录一下安装过程,方便同行参考 环境信息 macOS:10.15.5IntelliJ IDEA:2020.3Gradle:6.8.2Java:1.8.0_151Homebrew: 3.0.1 进入Gradle官网 点此进入Gradle官网 点击安装 安装文档 包管理安装 安装b...

CentOS6.5安装图形界面(Gnome)

因为是以最小化安装的Linux,无法使用图形界面,从网上看到资料,我使用yum安装果然很简单 ------------------------------------------------------------------------------------------------------ 一、使用网络安装(如果网络比较快,这个方法简单) yum...