Переход с svn на git

В svn репозитории имеется несколько сотен проектов, над которыми работают десятки разработчиков. Будем считать что в данном репозитории нет веток и тегов, есть только trunk, а исходники хранятся в кодировках cp866 и windows-1251.

Задача - плавный перенос этих проектов на gitlab с историей и с синхронизацией в обе стороны до полной готовности потушить svn сервер.

Для начала был получен файл соответствия пользователей, затем

git svn clone --trunk=trunk/project1 --prefix=svn/ --localtime --authors-file=users.txt https://svn_server/svn project1
git remote add origin git@git_server:git_group/project1.git
git push origin --all

И тут возникает проблема и вопросы:

  1. В гитлабе в исходниках отображается клинопись вместо кириллицы, тоже самое в командах git show, git diff и т.д. Причина ясна - в svn исходники хранятся не в utf-8 и в оригинале переконвертить их нельзя. Если указать кодировку в .gitattribute, как потом правильно настроить синхронизацию, ведь она не будет работать? Есть ли выход из этой ситуации? Хотелось бы что-бы ВСЯ история изменений была в читаемом виде.
  2. В статьях в основном описывается разовая миграция через промежуточные bare-репозитории, понадобятся-ли они в вышеуказанной ситуации и как в принципе организовать эту самую двухстороннюю синхронизацию? Через хуки?

Ответы (0 шт):