Рабочий процесс HG: как выбрать / отказаться от отдельных наборов изменений из клонов веток - PullRequest
0 голосов
/ 20 января 2012

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

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

Какой рабочий процесс предпочтителен для этого сценария?

Насколько я знаю, расширение трансплантата дает возможность выбирать отдельные наборы изменений, но я также хотел бы обрезать / выбрать путь / базу файлов, например. чтобы исключить некоторые тестовые сценарии или тому подобное, которые больше не требуются для финальной функции.

Поскольку трансплантат - это расширение, каков официальный способ проведения цикла «клон, изменить, ... пересмотреть» в HG?

1 Ответ

1 голос
/ 20 января 2012
  1. Mercurial является ориентированным на набор изменений VCS, таким образом - рабочий объект является набором изменений, сбор вишни внутри набора изменений вообще невозможен
  2. В Mercurial вы не можете удалить некоторые входящие наборы изменений в комплекте (но можете сделать это в Git, AFAICR)
  3. Это не официальный способ в любой форме , просто личный POV: поскольку pull создает анонимную ветвь, перед объединением этой ветки с основной линией вы можете редактировать содержимое ветки, чтобы исключить ненужные части, используя

    • histedit - удалить изменения, присоединиться
    • MQ - удалить набор изменений из ветви, отредактировать содержимое набора изменений (преобразовать в MQ-patch, отредактировать, закончить, изменить порядок)
...