repo sync error: cannot initialize work tree

来源:互联网 发布:淘宝特价清仓 编辑:程序博客网 时间:2024/06/06 00:15

repo sync时其他操作导致电脑死机,重启后继续repo时,出现如下错误:

$ repo sync -cdf
Syncing work tree:  67% (344/512)  fatal: This operation must be run in a work tree
Traceback (most recent call last):
  File "/home/panos/android/cm13/.repo/repo/main.py", line 531, in <module>
    _Main(sys.argv[1:])
  File "/home/panos/android/cm13/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/home/panos/android/cm13/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/panos/android/cm13/.repo/repo/subcmds/sync.py", line 769, in Execute
    project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
  File "/home/panos/android/cm13/.repo/repo/project.py", line 1247, in Sync_LocalHalf
    self._InitWorkTree(force_sync=force_sync)
  File "/home/panos/android/cm13/.repo/repo/project.py", line 2393, in _InitWorkTree
    raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree


这是因为第一次repo sync到某个porject时,由于关机导致这个project的内容出现错误

解决方法:

1 先用repo --trace sync -cdf将repo的所有动作详细输出,

会发现在这里出错导致:

: export GIT_DIR=......./vendor/mediatek/proprietary/hardware/gsm0710muxd
: git rev-parse --verify refs/remotes/github/cm-13.0-caf-8996^0 1>| 2>|


: cd ......../vendor/mediatek/proprietary/hardware/gsm0710muxd
: git read-tree --reset -u -v HEAD 1>| 2>|
fatal: This operation must be run in a work tree
Traceback (most recent call last):
  File "/home/panos/android/cm13/.repo/repo/main.py", line 531, in <module>
    _Main(sys.argv[1:])
  File "/home/panos/android/cm13/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/home/panos/android/cm13/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/panos/android/cm13/.repo/repo/subcmds/sync.py", line 769, in Execute
    project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
  File "/home/panos/android/cm13/.repo/repo/project.py", line 1247, in Sync_LocalHalf
    self._InitWorkTree(force_sync=force_sync)
  File "/home/panos/android/cm13/.repo/repo/project.py", line 2393, in _InitWorkTree
    raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree

2 因此,将vendor/mediatek/proprietary/hardware/gsm0710muxd这个文件夹删除,在manifest中查找这个路径对应的project是

 <project name="alps/vendor/mediatek/proprietary/hardware/gsm0710muxd" path="vendor/mediatek/proprietary/hardware/gsm0710muxd" />

于是,在.repo/projects下删除.repo/projects/vendor/mediatek/proprietary/hardware/gsm0710muxd.git目录,以及

.repo/project-objects/vendor/mediatek/proprietary/hardware/gsm0710muxd.git目录


3 最后重新repo sync即可


repo的trace选项的作用

You can trace what really happens with repo --trace init ...

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 锁屏密码忘了怎么办 抖音停止运行了怎么办? 华为手机右下角有个小人怎么办 华为手机程序停止运行怎么办 华为手机不支持软件搬家怎么办 红米手机没有任务键怎么办 进网许可丢了怎么办 华为稳私空间被稳蔵怎么办 华为手机安装不了软件怎么办 华为手机自动安装软件怎么办 手机在实体店买贵了怎么办 日本买的kindle坏了怎么办 华为麦芒4屏幕失灵怎么办 华为麦芒6屏幕失灵怎么办 手机为什么总显示内存不足怎么办 小米云服务满了怎么办 魅蓝s6声音小怎么办 华为畅享7s丢失怎么办 华为耳机孔坏了怎么办 苹果手机耳机插孔坏了怎么办 荣耀8听筒声音小怎么办 荣耀8听筒音量小怎么办 华为荣耀6声音小怎么办 华为荣耀v8通话声音小怎么办 华为p20没有耳机孔怎么办 华为荣耀手机耳机声音小怎么办 小米5x显示耳机怎么办 手机进水听音乐人声小怎么办 华为荣耀v8手机音量小怎么办 手机充电孔松了怎么办 华为荣耀7卡顿怎么办 华为手机话筒没声音怎么办 苹果x耳机进水了怎么办 苹果6p进水了怎么办 华为手机声音变耳机模式怎么办 手机设置成耳机模式怎么办 opop耳机一个没有声音怎么办 oppo手机上显示耳机模式怎么办 微信显示耳机模式怎么办 微信变成耳机模式怎么办 5s变成耳机模式怎么办