Я хочу выпустить этот сценарий и посмотреть, каким будет самый объективный, ванильно-меркуриальный способ исправить это.
Предположим, у меня есть следующие ветки в моем централизованном репозитории Mercurial для моего централизованного, нераспределенного веб-приложения:
repository
default
feature1
feature2
bugs
Предположим, десять разработчиков внесли исправления в ветку 'ошибок' и отправили. Теперь, допустим, пришло время выпустить. Итак, я провожу несколько финальных тестов и внезапно замечаю проблему с исправлением ошибки - и эта проблема займет несколько дополнительных часов. Итак, теперь у меня есть сверхкритические исправления ошибок, которые должны быть выпущены, но ветка 'ошибок' заблокирована, и я не могу слиться с веткой 'по умолчанию' и выпустить, потому что также будет выпущена половина исправленной ошибки, и я не могу этого допустить.
Так что мне делать?
Должен ли я отменить изменения в ветке ошибок, объединить ошибки с настройками по умолчанию и выпустить? Что, если есть десять коммитов, связанных с этой конкретной проблемой-исправлением - найти и отменить все эти? Это звучит волосато, но допустим, я это делаю. Как насчет того, когда разработчик, который должен исправить проблему-исправление-ошибку, извлекает и обновляет свой репозиторий? Его изменения все будут отменены. Он МОЖЕТ отменить возврат ... это путь?
Другим вариантом было бы сделать некоторый выбор вишни и объединить только те изменения, которые я хочу выпустить, из ветви 'ошибок', за исключением фиксаций исправления проблемы, в ветку 'по умолчанию'. Но это звучит даже громче, чем ранее предложенное решение.
Что вы все делаете?