Неполные данные: источник Delta неожиданно закончился, а git svn fetch
Я клонировал свой svn repo в git, и каждый день я делаю git svn fetch (я только делаю изменения в SVN), но я планирую перейти на git, и я сохраняю репозиторий git синхронизация за день, так как клон svn взял меня на 2 недели (да, это большое репо).
В любом случае git svn fetch работал нормально каждый день до 2 дней назад, где я теперь получаю
Incomplete data: Delta source ended unexpectedly at /usr/lib/perl5/site_perl/Git/SVN/Ra.pm line 290
при конкретной ревизии. Я попробовал различные предложения в Интернете о git svn reset и возвратил некоторые изменения, и я вернулся с 20 версиями обратно без везения. Я также попытался запустить:
git config --get core.autocrlf
который дал true
.
Я знаю, что svn repo работает хорошо, у меня нет проблем с svn up.
Любые идеи, как я могу снова вернуться к синхронизации? Я застрял без идей, что попробовать.
Я мог бы раскрыть один вопрос. Я не помню, но перед запуском проблемы у меня мог быть диск, полный на диске, где репо, когда я попробовал выборку. Может, это что-то уничтожило?
/donnib
Ответы
Ответ 1
- Убедитесь, что нет дополнительных процессов git/perl (которые могут создать файл index.lock и испортить текущую выборку). Убейте всех.
- Удалите файл ...\my_repository.git \.git\svn\refs\remotes\trunk\index.lock.
- git svn reset -r SomeSVNRevisionNumberBeforeTheProblematicOne
- git svn fetch
Извлечение должно продолжаться с SomeSVNRevisionNumberBeforeTheProblematicOne.
Наиболее вероятная причина, по которой это произошло, - это concurrency между двумя экземплярами git, запущенными одновременно в одном репозитории.
Ответ 2
--ignore-paths
использовать --ignore-paths
, поэтому выполните следующие шаги:
-
git svn reset -r <svn-version-before-error>
-
git svn fetch --ignore-paths=/branches/badbranch