Сбой при переносе локального репозитория Git с включенной LFS в пустой Azure Devops

#git #git-svn #git-lfs

#git #git-svn #git-lfs

Вопрос:

Я пытаюсь переместить наше репозиторий SVN в репозиторий Git, и я почти на месте, но падаю на последнем препятствии.

Локально у меня есть:

  • Создал пустое репозиторий git с помощью инициализации git svn
  • Включил LFS и настроил его на отслеживание множества разных файлов.
  • Перенесено мое репозиторий SVN с помощью git svn fetch
  • Убрал несколько лишних тегов и в итоге получил единственную «основную» ветку и кучу тегов.
  • Я добавляю удаленный источник в новое пустое репозиторий Azure Devops через git remote add origin [azure git URL]
  • Я запускаю следующую команду:

    git push origin -все

Я получаю следующее сообщение и, в конечном счете, ошибку, при этом в AzDevOps ничего не отображается:

 Locking support detected on remote "origin". Consider enabling it with:
  $ git config lfs.https://[redacted]/info/lfs.locksverify true
LFS: Client error: https://[redacted]/info/lfs/objects/bd2cc3927bf072a20412a03bfc58570b8d7c7eaad4737b6c70717baa0c0b697e from HTTP 413
Uploading LFS objects: 100% (684/685), 232 MB | 7.1 MB/s, done.
error: failed to push some refs to 'https://[redacted]'
 

На всякий случай я запустил предложенную команду, чтобы добавить конфигурацию блокировки, а затем повторить попытку. Я получаю ту же ошибку, но без предложения о блокировке.

Есть идеи, как отладить, что не так? Мои навыки Bingle покинули меня и, похоже, не могут найти ничего, что относится к моему сценарию.

Ответ №1:

Azure DevOps использует IIS, у которого есть некоторые неприятные проблемы с HTTP / 2. Ужасные подробности упоминаются в Git LFS issue tracker, но, по сути, тот факт, что вы получаете слишком большой запрос 413, означает, что Azure DevOps не может корректно обрабатывать большие файлы через HTTP / 2. Это не ошибка Git LFS, а проблема конфигурации, связанная с тем, как Azure DevOps настроила свой сервер LFS. У других хостинговых сайтов этой проблемы нет.

В качестве обходного пути вы можете запустить

 git config http.version HTTP/1.1
 

что должно позволить вам правильно передавать данные. Обратите внимание, что каждому пользователю необходимо будет настроить это при переносе файла размером около 128 МБ, пока Azure DevOps не устранит эту проблему.

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

1. Большое вам спасибо за это, это сработало отлично!