Я работаю с потоками Perforce, следуя рекомендуемой основной модели. (релиз, основной поток и потоки разработки). Кроме того, мы используем нечетную/четную нумерацию выпусков (аналогично ядру Linux) с нечетными младшими номерами версий для разрабатываемых версий и четными младшими номерами для выпускных версий.
После исправления ошибки в потоке выпуска мне нужно обновить несколько файлов с информацией о версии, чтобы создать новую версию выпуска/установщик. Эти изменения версии нельзя объединять с основной веткой (только само исправление), потому что версия основной ветки уже увеличена до следующей разрабатываемой версии.
Теперь при слиянии из потока релиза в основной я получаю конфликты для всех файлов, содержащих информацию о версии. В настоящее время мне нужно вручную разрешить все конфликты, отменив изменение номера версии (сохранив версию разработки).
Пример:
- Поток релизов начался с версии 2.4.0 (номер стабильной/выпускной версии)
- Увеличить основную версию до 2.5 (следующая версия разработки)
- Исправьте ошибку в потоке выпуска, увеличьте номер версии до 2.4.1.
- Объединить изменения в основную ветку: принять исправление, вручную отменить конфликты в файлах версий
Есть ли способ исключить отдельные файлы/набор файлов из интеграции, чтобы мне не пришлось выполнять этот утомительный (и потенциально подверженный ошибкам) ручной процесс? (Примечание: информация о версии отделена от кода.)