Трансплантация ртутных изменений в хранилище, преобразованное в hgsubversion - PullRequest
1 голос
/ 25 февраля 2011

Я мигрировал из Subversion в Mercurial по частям, и это создало некоторую путаницу. У меня был старый SVN-сервер (до 1.4), поэтому вот что произошло.

  1. HgSubversion не хотел извлекать полную историю из транка, поэтому я сделал поверхностное преобразование.
  2. Мои коллеги сделали последние коммиты в SVN, а я втянул их в Hg.
  3. Мы перешли к Hg и начали толкать к нему
  4. Просто чтобы быть в безопасности, один из моих коллег сделал еще несколько коммитов в SVN.
  5. Мне удалось обновить сервер SVN и получить полное репо к новому SVN.
  6. HgSubversion успешно вытащил всю историю, включая несколько дополнительных / дублирующих коммитов.

Теперь я хотел бы «перенести» коммиты в мелком ртутном репозитории в полную историю, репозитории связаны по содержанию, но не связаны с ртутными хешами. изменения? В конце концов каждый должен уметь:

  1. Для переключения репозитория Hg с полной историей и продолжения работы
  2. Иметь автоматическую передачу из репозиториев Hg подходящих сжатых / переназначенных наборов изменений в SVN как пользователь службы.

Я бы хотел конкретный пример со следующим сценарием.

  • Последний ртутный хеш на шаге 2 - A
  • Текущий ртутный хеш после нажатия, шаг 3 - B
  • Хэш последнего коммита после извлечения из обновленного SVN - C
  • Хэш шага 2 коммит после полного извлечения истории SVN - D

Я не очень хорош в искусстве ASCII, не стесняйтесь добавлять один для бонусных очков.

1 Ответ

2 голосов
/ 25 февраля 2011

Мы провели CVS -> Mercurial миграцию на прошлой неделе на работе. Как и в вашем случае, некоторые люди некоторое время продолжали использовать CVS.

Чтобы синхронизировать два репозитория, когда сервер CVS был окончательно остановлен, я сделал следующее:

  1. Преобразование CVS в Mercurial через cvs2hg
  2. Экспорт каждой новой ревизии с помощью hg export
  3. Импорт файлов исправлений с помощью hg patch

Было только десяток ревизий, так что это было не страшно ... Если у вас есть еще много ревизий, вы можете взглянуть на расширение трансплантата.

Надеюсь, это поможет.

...