VCS Migration to Git - Каков мой подход? - PullRequest
1 голос
/ 16 мая 2011

Я только что унаследовал большой веб-проект, использующий SVN для VCS.Нет веток, и проект был заброшен в течение последних четырех месяцев - он довольно стабилен.

Я планирую перенести SVN в Git (используя gitosis), пока у меня есть возможность - так что я будупреобразование истории SVN в основную ветвь нового репозитория Git, который я помещаю на место.

Благодаря множеству других вопросов здесь, я определенно рассмотрю эту часть - оттуда я планирую создатьветвь для каждой стадии разработки - alpha, dev, stage и prod, и у этих серверов pull ветви, к которым они «принадлежат».Я также планирую слиться вверх (зафиксировать альфа, слить с dev, слить со stage и т. Д.) И push ing to prod.

Я думаю, что это лучший план для такой среды, ноМне интересно, есть ли какие-то ошибки или что-то, о чем я должен знать, прежде чем начать.Ваше понимание высоко ценится!

Ответы [ 2 ]

2 голосов
/ 16 мая 2011

Вы могли бы рассмотреть:

  • с использованием gitolite вместо устаревшего gitosis (для слоя авторизации)
  • создание нескольких репозиториев Git для изоляции когерентного подмножестваначальное репо SVN.
  • с учетом аспектов идентификации и авторизации , которых нет в DVCS: даже если вы отображаете пользователей SVN для миграции (как описано в manojlds в его ответе ), ничто не мешает им совершать какие-либо «user.name», которые они хотят, когда они работают с новым репозиторием Git.
2 голосов
/ 16 мая 2011

Во-первых, у вас должен быть файл карты авторов, который будет использовать имена пользователей SVN для пользователей Git с именами пользователей и электронной почтой. Есть сценарии для создания такого файла авторов, что-то вроде:

svn log | grep -E "r[0-9]+ \| .+ \|" | awk '{print $3}' | sort | uniq

Вы можете использовать svn2git для конвертации.

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

Вы также можете заглянуть в git-flow для определения рабочего процесса вашей команды и вашей команды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...