fatal: git-écrire-arbre: erreur de construction des arbres

j'essaie d'importer un grand dépôt subversion dans git en utilisant git-svn (de sorte que je puisse travailler dans git mais toujours dcommit vers subversion de temps en temps). Après avoir importé plus de 4000 révisions, j'obtiens maintenant l'erreur suivante chaque fois que j'exécute git svn fetch ou git svn rebase, dont je ne me débarrasse pas:

$ 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

Ce que j'ai essayé jusqu'à présent:

  • git fsck --full ne signalent pas quelque chose, ni ne git fsck --unreachable ou git fsck --no-reflog
  • git gc --aggressive ne pas aider
  • déplacement du fichier pack unique et réimportation avec git unpack-objects ne pas aider
  • git svn reset -rXY avec XY un peu plus bas que la dernière version importée ne semble pas aider non plus, ni ne supprime manuellement les dernières entrées de la reflog jusqu'à XY.
  • redémarrage. Cela semble idiot, mais j'ai observé quelques problèmes bizarres lors de l'importation de la première révision ~4000, comme si quelque chose fuyait beaucoup de ressources du noyau (très probablement dans le sous-système windows), peut être lié à msys / mingw (ou le scanner avira virus, que j'ai désactivé pour le test).

je n'ai pas trouver ce que l'erreur 128 vraiment. Des idées? Merci à l'avance!

pourrait être lié à cette question qui concerne aussi l'erreur 128, mais avec des messages d'erreur différents, et sans solution.

msysgit version 1.6.4.msysgit.0 avec bash sur XP sp3

17
demandé sur Community 2009-08-31 11:25:38

2 réponses

git svn gc

(peut-être git gc et git prune avant)

35
répondu user174710 2015-10-23 16:30:21

brève réponse: essayez de résoudre les conflits de fusion, en les propageant, et ils récupèrent/tirent à nouveau.

explication plus longue: Je suppose que vous avez résolu ce problème, vu qu'il a été posté il y a si longtemps. J'écris ceci puisque le classement de Google des articles de StackOverflow est assez élevé que d'autres personnes avec ce problème seraient très susceptibles de visiter cette page s'ils avaient cette erreur.

j'ai rencontré une erreur similaire en essayant de faire un "git stash", ce qui s'est avéré être le le problème était qu'un conflit de fusion s'était produit après une traction. Je n'avais pas résolu et commis le conflit, et cela a laissé le dépôt dans un État qui m'a empêché de tirer/fusionner/etc...

si vous vous assurez que vous n'avez pas de fichiers de blocage, réessayez.

Bonne chance!

4
répondu Levon Karayan 2010-10-20 01:18:33