fatal: git-write-tree: ошибка построения деревьев

Я пытаюсь импортировать большой репозиторий subversion в git с помощью git-svn (чтобы я мог работать в git, но все же dcommit для subversion время от времени). После импорта более 4000 версий я теперь получаю следующую ошибку при каждом запуске git svn fetch или git svn rebase, от которого мне не удается избавиться:

$ 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

что я пробовал до сих пор:

  • git fsck --full ничего не сообщает, и не делает git fsck --unreachable или git fsck --no-reflog
  • git gc --aggressive не помогает
  • переместить один файл упаковать и импортировать его с git unpack-objects не помогает
  • git svn reset -rXY С XY немного ниже, чем последняя импортированная версия, похоже, тоже не помогает, равно как и ручное удаление последних записей из reflog до XY.
  • перезагрузка. Звучит глупо, но я заметил некоторые странные проблемы при импорте первой версии ~4000, как будто что-то протекало много ресурсов ядра (скорее всего, в windows подсистема), может быть связана с msys / mingw (или антивирусным сканером avira, который я отключил для тестирования).

Я также не узнал, что на самом деле означает ошибка 128. Есть идеи? Заранее спасибо!

может быть связано с этот вопрос что касается ошибки 128, но с различными сообщениями об ошибках и без решения.

msysgit версия 1.6.4.msysgit.0 С bash на xp sp3

2 ответов


git svn gc

(возможно git gc и git prune до)


короткий ответ: попробуйте разрешить любые конфликты слияния, зафиксировав их, и они снова извлекут/потянут.

больше объяснений: Я предполагаю, что вы решили эту проблему, так как она была опубликована так давно. Я пишу это, так как рейтинг статей StackOverflow Google достаточно высок, чтобы другие люди с этой проблемой могли бы посетить эту страницу, если бы у них была эта ошибка.

Я столкнулся с аналогичной ошибкой при попытке сделать "git stash", что оказалось проблема заключалась в том, что конфликт слияния произошел после вытягивания. Я не разрешил и не совершил конфликт, и это оставило репозиторий в состоянии, которое помешало мне вытащить/объединить/и т. д...

Если вы убедитесь, что у вас нет блокирующих файлов, повторите попытку.

удачи!