svn2git - нужно ли всем авторам в SVN заранее создавать в Git?
Я смотрю на svn2git, чтобы сделать некоторые преобразования, но меня смущает одна вещь. В нашей истории репозитория SVN есть ряд людей, которые внесли изменения и зафиксировали код, которых здесь больше нет. Нужно ли создавать их учетные записи в Git, даже если они больше не работают в компании, чтобы преобразование работало?
2 ответа
Вам не нужно создавать учетные записи - но в соответствии с общими процедурами импорта им нужна запись в файле authors.txt
вы ссылаетесь, чтобы обеспечить сопоставление учетной записи (имен) svn с электронными письмами (как id), как это используется в git.
Например, я сделал следующее для нескольких десятков репо:
git svn clone svn+ssh://user@host/svnroot/repo gitrepo \
--no-metadata -A authors.txt
и если пользователи отсутствуют в authors.txt
процесс прерывается.
Есть инструменты под названием svn2git
Вероятно, лучшим из них является KDE из https://github.com/svn-all-fast-export/svn2git. Я настоятельно рекомендую использовать это svn2git
инструмент. Это лучшее, что я знаю из доступных, и оно очень гибкое в том, что вы можете делать с его файлами правил.
Из вашего вопроса я предполагаю, что вы не используете тот, который я упомянул. Как там по умолчанию использовать <svnusername>@localhost
если не настроено иначе. Вы можете дать инструменту имя хоста по умолчанию, чтобы использовать по умолчанию <svnusername>@your-host.com
или (дополнительно) вы можете предоставить файл с отображениями, которые сопоставляют пользователей со строками коммиттера / автора, такими как Your name <your.name@your-host.com>
,
Вам никогда не нужно, чтобы пользователи создавались где-либо. Единственный человек, которому нужна учетная запись, - это тот, кто должен отправить репо на Git-сервер. Другие просто коммиттеры / авторы в истории, которую он толкает. Люди, которые совершают / автор и люди, которые толкают - это две совершенно разные группы, которые могут пересекаться, но не обязаны. Только толкатели нуждаются в праве использовать ваше решение для Git-хостинга.
Если вы не на 100% об истории вашего хранилища, svneverever
http://blog.hartwork.org/?p=763 - отличный инструмент для изучения истории SVN-репозитория при его миграции на Git.