Mercurial репозиторий в качестве оболочки для SVN

Для разработки мы используем репозиторий Mercurial в качестве оболочки для репозитория SVN для проверки кода в проекте. Все работает нормально: разработчики получают изменения и вносят свои изменения в репозиторий Mercurial, а руководитель проекта иногда проталкивает изменения из репозитория Mercurial Server в репозиторий SVN-сервера.

Но мы столкнулись с проблемой. Однажды два разработчика отправили два набора изменений. Для отправки на сервер они объединили все изменения и отправили на сервер. Все хорошо, но после этого мы не можем перенести изменения из репозитория Mercurial в SVN. Мы получаем ошибку:

abort: К сожалению, не удается найти svn-родитель ревизии слияния.

У объединенной ревизии есть два родителя, которые были объединены, и похоже, что это правильно, но я не могу запихнуть в svn после и не понимаю, почему SVN не может найти родителя.

Любая помощь будет очень полезна, спасибо

1 ответ

Решение

Mercurial специально hgsubversion может быть очень хорошим клиентом для Subversion. Однако, сказал, что есть ограничения, которые должны соблюдаться.

Хорошо, что вы можете

1) Сделайте несколько коммитов в вашем Mercurial репо и отправьте все эти изменения как одну ревизию в хранилище Subversion

Плохо то, что у вас до сих пор нет свободы обмена между различными ртутными хранилищами

1) Вы не можете обмениваться изменениями без использования Subversion в качестве посредника.

В основном, я использую hgsubversion, когда у нас есть ранее существовавший репозиторий subversion, и мы хотим перейти на Mercurial, не теряя всей этой истории, содержащейся в репозитории subbersion.

Если вы хотите продолжать использовать, вы должны соблюдать определенные ограничения. Смотрите ссылку 2. Ниже.

Рекомендации:

  1. Как обрабатывать слияния с помощью hgsubversion?
  2. Проблема рабочего процесса Mercurial to Mercurial to Subversion
Другие вопросы по тегам