Как я могу исправить ошибку в предыдущей версии через Mercurial? - PullRequest
2 голосов
/ 15 апреля 2011

Мы используем Mercurial в одном репозитории.У нас есть ветка master и ветка develop (а также ветки функций, но они не имеют отношения к рассматриваемой проблеме).

Мы помечаем ветку master выпусками (5.1.0.102 и т. Д.).Мы делаем нашу разработку на develop.

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

Я хочу сделать следующее:

  1. Обновлениедо того места, где мы выпустили (скажем, 6.1.1)
  2. Исправьте количество ошибок в этом выпуске
  3. Пометьте полученное состояние кода как (6.1.2)
  4. Doсборка этой новой базы кода 6.1.2.
  5. Перенесите эти исправления в ветку develop
  6. Сделайте это так, чтобы я мог вернуться к 6.1.2 и исправить ошибки там, если это будет необходимо.

Я не могу сделать это через обновление.Я попытался обновить до 6.1.1, создать ветку и перейти оттуда, но это приносит подсказку ветви master, включая все последующие изменения.

Есть ли стандартный способ сделатьэтот?Я правильно объяснил, чтобы вы, ребята, получили то, что мне нужно сделать?Похоже, это довольно распространенная вещь.

Ответы [ 2 ]

7 голосов
/ 15 апреля 2011

Вам не нужно явно создавать ветку. Я бы сделал так:

  1. Обновление до точки, где вы выпустили (6.1.1 в основной ветке).
  2. Вносить изменения и фиксировать их.
  3. Пометить последний коммит в master как 6.1.2.
  4. Перетащите эти изменения в ветку разработки.
  5. Продолжить работу.

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

2 голосов
/ 15 апреля 2011

Вам действительно не нужно создавать именованную ветвь, если вы действительно не хотите иметь полную ветвь.Вероятно, вы захотите сделать следующее:

  1. обновить до 6.1.1
  2. внести изменения
  3. commit (создаст новую безымянную ветвь)
  4. пометьте эту новую редакцию как 6.1.2.
  5. Затем вы можете объединить это редактирование с вашей веткой разработки

Пока вы обновляетесь до ревизии раньше, чем подсказка в ветке Master, коммит будет создавать новую веткуот этого.

Это оставит версию помеченной, чтобы вы могли легко вернуться к ней.

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