la synchronization del repository da como resultado "fatal: no es un repository de git: 'dir_operativo / .repo / projects / externo / ipsec-tools.git'"

Estoy intentando download el código fuente de Android y estoy siguiendo el procedimiento descrito en https://source.android.com/source/downloading.html , que consiste en instalar el script de repository y luego ejecutarlo

$ repo init -u https://android.googlesource.com/platform/manifest $ repo sync 

para get la twig principal. También he intentado usar los -f -j1 para pasar por los errores y usar solo un núcleo, como se sugirió en algún lugar en línea. En este punto, creo que estoy muy cerca de download todo, pero siempre se detendrá hacia el final cuando trabaje en ipsec-tools. Siempre da el siguiente resultado:

  Fetching project platform/external/ipsec-tools % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1 100 1 0 0 3 0 --:--:-- --:--:-- --:--:-- 3 100 1690k 100 1690k 0 0 2307k 0 --:--:-- --:--:-- --:--:-- 2307k fatal: Not a git repository: '/home/sebastian/WORKING_DIR/.repo/projects/external/ipsec-tools.git' fatal: Not a git repository: '/home/sebastian/WORKING_DIR/.repo/projects/external/ipsec-tools.git' fatal: Not a git repository: '/home/sebastian/WORKING_DIR/.repo/projects/external/ipsec-tools.git' Traceback (most recent call last): File "/home/sebastian/WORKING_DIR/.repo/repo/main.py", line 500, in <module> _Main(sys.argv[1:]) File "/home/sebastian/WORKING_DIR/.repo/repo/main.py", line 476, in _Main result = repo._Run(argv) or 0 File "/home/sebastian/WORKING_DIR/.repo/repo/main.py", line 155, in _Run result = cmd.Execute(copts, cargs) File "/home/sebastian/WORKING_DIR/.repo/repo/subcmds/sync.py", line 635, in Execute fetched = self._Fetch(to_fetch, opt) File "/home/sebastian/WORKING_DIR/.repo/repo/subcmds/sync.py", line 339, in _Fetch self._FetchProjectList(**kwargs) File "/home/sebastian/WORKING_DIR/.repo/repo/subcmds/sync.py", line 234, in _FetchProjectList success = self._FetchHelper(opt, project, *args, **kwargs) File "/home/sebastian/WORKING_DIR/.repo/repo/subcmds/sync.py", line 275, in _FetchHelper no_tags=opt.no_tags, archive=self.manifest.IsArchive) File "/home/sebastian/WORKING_DIR/.repo/repo/project.py", line 1110, in Sync_NetworkHalf no_tags=no_tags)): File "/home/sebastian/WORKING_DIR/.repo/repo/project.py", line 1845, in _RemoteFetch self.bare_git.pack_refs('--all', '--prune') File "/home/sebastian/WORKING_DIR/.repo/repo/project.py", line 2483, in runner p.stderr)) error.GitError: platform/external/ipsec-tools pack-refs: fatal: Not a git repository: '/home/sebastian/WORKING_DIR/.repo/projects/external/ipsec-tools.git' 

Como dice que no es un repository de git, me puse a presentir y ejecuté git init en el directory que indicaba, lo cual no funcionó. También traté de eliminar todo el directory ipsec-tools.git y ejecutar la synchronization de repos de nuevo para que comenzara desde cero pero siempre da el mismo error.

¿Algunas ideas?

No es necesario iniciar la sync desde cero. Android es un enorme repository para download desde cero y con el interés de ahorrar time, e Internet se puede eliminar el repository git específico (en general, he visto que solo 1 directory git está dañado) y volver a ejecutar la synchronization.

repo almacena proyectos en

 .repo/projects 

pero estos son solo enlaces suaves a datos de git reales, que se almacenan en

 .repo/project-objects 

siga los enlaces en 'proyectos' y elimine ambos repositorys y vuelva a ejecutar la synchronization. Funcionó para mí

[Quería agregar esto como comentario, pero no me permite, así que lo agregué como respuesta]