Переход от ClearCase к Mercurial: ваши главные советы? - PullRequest
5 голосов
/ 30 марта 2010

Скоро мы начнем заменять ClearCase на Mercurial. Я слышал, это хорошая вещь . Модель изменения по сравнению с моделью версии. Волна будущего. Я готов в это поверить. Тем не менее, это отчасти пугает меня. Эй, Джоэлю Спольски потребовалось некоторое время, чтобы понять разницу и узнать, как извлечь максимальную выгоду из Mercurial, поэтому я держу пари, что столкнусь с концептуальными ловушками и ловушками.

У кого-нибудь есть какие-нибудь реальные советы о том, как впутать Mercurial? Любые конкретные предложения, которые помогут мне преодолеть концептуальный разрыв. Есть какие-нибудь предупреждения о том, чего нельзя делать? Я был бы рад услышать их. Я уже читал самые близкие вопросы по SO, связанные с этой темой, а также Mercurial tour и ряд других блогов. Я в основном интересуюсь любыми проблемами, которые я могу встретить. Будем признательны за любую мудрость, которую вы можете передать.

Ответы [ 3 ]

6 голосов
/ 30 марта 2010

Рецепт peepcode Встреча с ртутным видео стоит час и $ 9.

Что касается гоча, я бы сказал, что самый большой способ увидеть, как люди терпят неудачу в ртути, - это слишком зацикливаться на том, «как они привыкли делать вещи», вместо того, чтобы сосредоточиться на «почему они это делали».

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

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

Или вот важная персона - mercurial вносит неизгладимые изменения - после того, как вы зафиксировали / выдвинули изменение, нет простого способа (и множества сложных / плохих способов) впоследствии изменить это изменение. Вы можете отрицать его эффект, но вы не можете вспомнить и уничтожить его. В первый раз, когда кто-то выдвигает изменение, которое ему хотелось бы, он не прошел через эту последовательность:

  1. блин!
  2. Я хочу отменить это
  3. Я не могу отменить это?!
  4. Это самая глупая вещь, которую я когда-либо слышал!

и затем они делают одно из двух:

  • найдите время, чтобы выяснить, почему ртутный сделать несмываемое благо

или

  • пройти через огромные искажения, чтобы удалить набор изменений из всех своих удаленных репозиториев и поклясться, что Mercurial не работает

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

4 голосов
/ 30 марта 2010

Вы, наверное, читали это, но я просто прочитал и подумал, что это очень хорошее вступление для нас (из SVN):

http://hginit.com

2 голосов
/ 30 марта 2010

Сначала прочитайте: « Какие основные концепции должны знать все разработчики? ».
В этом ответе я сравниваю ClearCase с Git, но общая идея остается верной:

ClearCase (Central VCS) сильно отличается от Git или Mercurial (DVCS), и этот ответ детализирует основные различия.

Если вы можете поместить столько данных, сколько хотите, в ClearCase VOB, любой путь миграции будет включать реорганизацию ваших данных в связное репо (т.е. репозитории с согласованными данными в них)
При планировании миграции с ClearCase возникают следующие проблемы:

  • Переход с прозрачного на ртутный (который вы, возможно, уже читали)
  • Миграция от ClearCase , которая напоминает вам о том, что вам нужно будет установить политики для разветвления и маркировки, весьма отличающиеся от тех, что сделаны с ClearCase (особенно ClearCase UCM), поскольку публикация (push / pull) - еще одно измерение, неизвестное CVCS, например ClearCase.
...