Использование Mercurial для работы с репозиторием SVN только для чтения: объединение обновлений из транка - PullRequest
2 голосов
/ 01 сентября 2011

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

  1. Основываясь на подходе, изложенном в https://www.mercurial -scm.org / wiki / SubversionToMercurialHowto , вы сохраняете неизмененный репозиторий SVN в одной ветви, работаете вдругой, а затем обновите svn и внесите изменения и конфликты слияния.

  2. Просто оставьте два независимых репозитория и сделайте hg pull -f из клона, основанного на SVN, в рабочий, а затем объединитеконфликты.

Мне было интересно, было ли преимущество одного подхода перед другим, и как справиться с тем фактом, что я не могу легко обновить копию SVN, и вместо этого, вероятно,приходится переписывать весь репозиторий (если нет другого способа выборочно заменить файлы, которые изменились).

1 Ответ

1 голос
/ 01 сентября 2011

Исходя из ответа на этот другой вопрос SO , я скажу, что будет лучше использовать именованные ветви, а не клонировать из-за различий в отслеживании, откуда произошли изменения (если это имеет значение в вашей ситуации). Объединение изменений, поступающих из репозитория Subversion с клонированием или именованными ветвями, в основном такое же, и откуда исходят изменения (SVN, ваши коммиты и т. Д.), Также не имеет значения. Mercurial сможет обрабатывать слияния.

Кроме того, в руководстве Svn2Hg объясняется, как можно вернуть унифицированный diff в хранилище SVN. Так что, если вы не можете принять на себя обязательство, вы должны иметь возможность дать кому-то унифицированную разность, чтобы применить те изменения, которые вы хотите вернуть.

Наконец, если вы в конечном итоге получите доступ к репозиторию SVN, вы захотите использовать расширение hgsubversion , которое превратит Hg в клиента SVN и позволит вам отправлять изменения обратно в SVN. Сделки рЕПО.

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