fatal: git-write-tree: error construyendo arboles
git-svn corruption (2)
Estoy tratando de importar un repositorio de subversion grande en git usando git-svn (de modo que pueda trabajar en git pero aún así dcommit a subversion de vez en cuando). Después de importar más de 4000 revisiones, ahora obtengo el siguiente error cada vez que ejecuto git svn fetch
o git svn rebase
, que no logro eliminar:
$ git svn fetch
error: invalid object 100644 1f2....742 for ''src/path/.../file.cs''
fatal: git-write-tree: error building trees
write-tree: command returned error: 128
Lo que he probado hasta ahora:
-
git fsck --full
no informa nada, tampocogit fsck --unreachable
ogit fsck --no-reflog
-
git gc --aggressive
no ayuda - mover el archivo de un solo paquete y reimportarlo con
git unpack-objects
no ayuda -
git svn reset -rXY
con XY un poco más bajo que la última versión importada tampoco parece ayudar, ni tampoco remueve manualmente las últimas entradas desde lareflog
hasta XY. - reiniciar. Suena tonto, pero observé algunos problemas extraños al importar la primera revisión ~ 4000, ya que si algo perdía muchos recursos del kernel (probablemente en el subsistema Windows), podría estar relacionado con msys / mingw (o el escáner de virus Avira, que deshabilité para la prueba).
Tampoco descubrí lo que realmente significa el error 128. ¿Algunas ideas? ¡Gracias por adelantado!
Podría estar relacionado con esta pregunta, que también se trata del error 128 pero con diferentes mensajes de error y sin una solución.
msysgit versión 1.6.4.msysgit.0
con bash en xp sp3
Respuesta corta: intente resolver cualquier conflicto de combinación, cometerlos y volver a buscar / extraer.
Explicación más larga: supongo que resolvió este problema, ya que se publicó hace tanto tiempo. Estoy escribiendo esto ya que el ranking de artículos de de Google es lo suficientemente alto como para que otras personas con este problema puedan visitar esta página si tuvieran este error.
Encontré un error similar cuando intenté hacer un "escondite de git", lo que resultó ser el problema fue que se había producido un conflicto de fusión después de un tirón. No había resuelto y cometido el conflicto, y esto dejó el repositorio en un estado que me impedía tirar / fusionar / etc ...
Si te aseguras de no tener ningún archivo bloqueado, inténtalo de nuevo.
¡Buena suerte!
git svn gc
(posiblemente git gc
y git prune
antes)