Repo를 사용하여 Android 소스를 다운로드할 수 없습니다: "플랫폼/빌드/청사진에 대한 작업 트리를 초기화할 수 없습니다"

Repo를 사용하여 Android 소스를 다운로드할 수 없습니다: "플랫폼/빌드/청사진에 대한 작업 트리를 초기화할 수 없습니다"

repo다음과 같이 Android 소스를 다운로드하는 데 사용하려고 합니다 .Google의 지침. Repo 클라이언트를 다운로드하고 초기화했으며 이제 작업 트리를 업데이트하려고 합니다. 을 실행한 후 repo sync --force-broken콘솔 출력을 읽을 때 모든 프로젝트를 올바르게 가져온 것으로 나타납니다. Fetching projects: 100% (733/733), done.그러나 해당 메시지를 인쇄한 직후 Repo는 작업 트리를 동기화하지 못한 것으로 나타나 다음 오류를 표시합니다.

Syncing work tree:   0% (2/733) (NOTE: newline inserted here for readability)
error: unable to create file pathtools/testdata/escapes/*: Invalid argument
fatal: cannot create directory at 'pathtools/testdata/escapes/**': Invalid argument
Traceback (most recent call last):
  File "D:\2019 Work\androidsrc\.repo\repo/main.py", line 547, in <module>
    _Main(sys.argv[1:])
  File "D:\2019 Work\androidsrc\.repo\repo/main.py", line 522, in _Main
    result = repo._Run(argv) or 0
  File "D:\2019 Work\androidsrc\.repo\repo/main.py", line 184, in _Run
    result = cmd.Execute(copts, cargs)
  File "D:\2019 Work\androidsrc\.repo\repo\subcmds\sync.py", line 855, in Execute
    project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
  File "D:\2019 Work\androidsrc\.repo\repo\project.py", line 1380, in Sync_LocalHalf
    self._InitWorkTree(force_sync=force_sync, submodules=submodules)
  File "D:\2019 Work\androidsrc\.repo\repo\project.py", line 2594, in _InitWorkTree
    raise GitError("cannot initialize work tree for " + self.name)
error.GitError: cannot initialize work tree for platform/build/blueprint

repo --version수익률:

repo version v1.13.3
       (from https://gerrit.googlesource.com/git-repo)
repo launcher version 1.25
       (from C:\Program Files\Git\usr\bin\repo)
git version 2.22.0.windows.1
Python 2.7.16 (v2.7.16:413a49145e, Mar  4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)]

답변1

< build-root >(즉, bionic/, development/, device/ 등이 있는 디렉토리)로 CD를 넣고 다음을 시도해 보세요.

repo sync --force-sync build/blueprint

여러 디렉터리에서 동일한 문제가 발생하는 경우 다음을 시도해 보세요.

for subprj in $(repo status | grep ^project | cut -d ' ' -f2); 
do 
    repo sync --force-sync $subprj; 
done

관련 정보