фатально: git-write-tree: ошибка построения деревьев
Я пытаюсь импортировать большой репозиторий subversion в git с помощью git-svn (так что я могу работать в git, но по-прежнему время от времени поручаю 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 ответа:
Краткий ответ: попробуйте разрешить любые конфликты слияния, зафиксировать их, и они снова извлекут/вытянут.
Более подробное объяснение: Я предполагаю, что вы решили эту проблему, так как она была опубликована так давно. Я пишу это, поскольку рейтинг статей Google StackOverflow достаточно высок, чтобы другие люди с этой проблемой с большой вероятностью посетили эту страницу, если бы у них была эта ошибка.
Я столкнулся с подобной ошибкой при попытке сделать "git stash", что оказалось проблемой было что конфликт слияния произошел после вытягивания. Я не разрешил и не зафиксировал конфликт, и это оставило хранилище в состоянии, которое помешало мне вытащить / объединить / и т. д...
Если вы убедились, что у вас нет никаких блокирующих файлов, попробуйте еще раз.
Удачи!