Должен ли автоматизированный процесс сборки вносить изменения в контроль версий? - PullRequest
6 голосов
/ 13 декабря 2011

Я часто видел автоматизированные процессы сборки, в том числе сборки Continuous Integration, фиксирующие изменения, сделанные в исходных файлах во время сборки, обратно в репозиторий контроля версий, из которого исходный код произошел *.Автоинкрементные номера версий - это распространенный сценарий, когда это делается, но есть и другие.

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

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

* Передача изменений в отдельный репозиторий артефактов вполне приемлема.

1 Ответ

1 голос
/ 13 декабря 2011

Автоинкрементные номера версий

Это метаданные , и помещение метаданных в (версионные) данные является "злом": для плюсов и минусов,см. этот ответ .

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

...