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