TortoiseHG объединяет локальный филиал - PullRequest
5 голосов
/ 10 октября 2011

У меня есть репозиторий в TortoiseHG с одной веткой (разработка следующей версии), но модификации с локальной (исправление ошибок) ... что-то вроде ...

Local 0-------3--4
       \
Branch  1--2

Я хочу сделать несколькодоработка на ветке версии, но с последующими локальными изменениями, слитыми в нее.И я хочу оставить локальную версию в состоянии, когда я могу продолжить разработку без изменения ветки.

Я не уверен, возможно ли то, что я спрашиваю, на самом деле, или из среды Visual SourceSafe.просто затуманивает мою способность видеть что-то, что должно быть очевидным.

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

Так что вопрос в том, есть ли способ обойти то, чтоЯ хочу сделать с текущей настройкой репо, или я должен экспортировать отдельные ревизии и перестроить репо с нуля?(Или любые другие варианты?)

1 Ответ

11 голосов
/ 10 октября 2011

Мне это кажется вполне нормальной обработкой Mercurial.

У вас есть:

  1. Две ветви
  2. Хотите убедиться, что одна из двух ветвей имеет всеобновления другого
  3. Хотите убедиться, что в другой ветке нет обновлений с первого (пока)

По сути, вам просто нужно объединить Localветвь в ветку Branch через равные промежутки времени, но не наоборот.

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

Другими словами, вы сделаете это:head Branch

Щелкните правой кнопкой мыши на заголовке Local и выберите «Объединить с локальным ...» и выполните объединение Commit, эта новая ревизия заканчиваетсябудучи в ветви Branch

ветви Local все еще блаженно не знают об изменениях в ветви Branch.

...