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.

Другие вопросы по тегам