среда, 26 мая 2021 г.

GitSvn - ошибка fatal: bad object


 При обновлении данных из SVN репозитория заказчика через `git svn fetch` получил следующую ошибку:

W: -empty_dir: branch/MC21FMSINT-583/OHBS/OHBSioGUI/MainForm.resx
Checking svn:mergeinfo changes since r2852: 13 sources, 3 changed
fatal: bad object a3e4f2cbe92958764e31197c3391fe7eccc33f88
rev-list -1 46d79549314a6c8bfd87ce1d50ab15db8992c326
a3e4f2cbe92958764e31197c3391fe7eccc33f88 --not b93da3edf57134b3bd9722ec875219d9ac67c166: command returned error: 128

В поисках решения наткнулся на заметку: Alieniloquent: "git svn fetch dies with \"fatal: bad object\""

Шпаргалка для решения:

  1. Заходим в директорию .git
  2. Запускаем поиск упоминаний о проблемном коммите (в моём случае a3e4f2cbe92958764e31197c3391fe7eccc33f88)
  3. Удаляем бинарные файлы, которые относятся к мержу и черри-пику.
  4. Ещё раз запускаем `git svn fetch`
В моём случае выглядело так (через GitBash в Windows):

rgade@DESKTOP-TFEG50M MINGW64 ~/workspace/myproject/.git (GIT_DIR!)
$ find . -exec grep -Hin a3e4f2cbe92958764e31197c3391fe7eccc33f88 {} \; | grep "Binary file"
Binary file ./svn/.caches/check_cherry_pick2.db matches
Binary file ./svn/.caches/lookup_svn_merge.db matches

rgade@DESKTOP-TFEG50M MINGW64 ~/workspace/myproject/.git (GIT_DIR!)
$ rm ./svn/.caches/check_cherry_pick2.db

rgade@DESKTOP-TFEG50M MINGW64 ~/workspace/myproject/.git (GIT_DIR!)
$ rm ./svn/.caches/lookup_svn_merge.db

Комментариев нет:

Отправить комментарий