1

Мы используем Mercurial как источник управления, главным образом используя названные отрасли для основных функций, которые мы закрываем и объединяемся в ветку разработки после ее завершения.Mercurial. Заброшенные - Альтернативная реализация Отрасль практика?

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

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

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

Но это оставляет какой-то «беспорядок» в исходное дерево.

Есть ли другие альтернативы или лучшие практики?

ответ

1

Мы в RhodeCode полностью используем решение на основе закладок и вытаскиваем запрос.

Мы используем rebase как стратегию слияния, это оставляет граф фиксации красивым и чистым. Если нам нужно отслеживать изменения, вы всегда можете вернуться к первоначальному запросу на pull и посмотреть, что такое процесс разработки, включая тесты CI/комментарии к коду.

Закладок на наш взгляд гораздо лучший вариант, так как это легкий указатель, это позволяет вам делать легкие переустановки/фиксации сквоша и просто затем нажимать новый указатель на закладку и обновлять запрос на перенос этой информацией. Это в сочетании с поддержкой фаз Mercurial дает очень хороший способ работы с новыми представлениями кода. (Публикация в основном репо, сквозняки в вилках, где совершаются коммиты)

Мы до сих пор проводили несколько тысяч запросов на вытаскивание самостоятельно разрабатываемого RhodeCode, и все мы согласились с командой, это самый гибкий и простой процесс.