Задать вопрос
Rouse
@Rouse

Битая ревизия в hg mercurial?

Суть.

Есть некая ревизия утилиты в дефолтовой ветке HG которая гарантированно собиралась билдсервером семь месяцев назад. Назовем ее 2028 (за ее номером).


В тоже время развивался соседний бранч, сутью которого был рефакторинг кода. Он начался из ревизии 712 и развивался параллельно.


Собираемая утилита активно использовала те модули, которые были под рефакторингом в соседнем бранче, но естественно не знала об изменениях производимых в них, т.к. бранч был не из ее ветки…

Через какое-то время необходимость в утилите отпала, а ветку с рефакторенным кодом смержили с дефолтовой.


Буквально сегодня потребовалось пересобрать данную утилиту заново. Зная что она не умеет работать с рефакторенным кодом, я откатился на ее самую последнюю собирабельную ревизию за номером 2028 и увидел что ее билд не успешен, т.к. она использует те модули, которые 7 месяцев назад были изменены в соседнем бранче, а не те, с которыми она тогда собиралась изначально.


Вопрос.

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

Т.е. что могло привести к такому поведению?

В команде все используют Merge, за исключением одного сотрудника, который использует Rebase и собственно который и производил рефакторинг кода.
  • Вопрос задан
  • 2881 просмотр
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Rouse
@Rouse Автор вопроса
Ошибок не пишет:

checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
11263 files, 5495 changesets, 30488 total revisions
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы