Мы используем ClearCase на моем рабочем месте. Часть нашего стандартного процесса, когда код объединен с основной (магистральной) ветвью, заключается в том, чтобы полностью искоренить все версии в ветвях разработки и интеграции. Поскольку это вытирает все комментарии, связанные с этими версиями, наши исходные файлы должны иметь длинный прологовый комментарий, который идентифицирует каждое изменение.
В нескольких случаях я указывал, что это отрицает одну из основополагающих причин использования системы контроля версий и заявляет, что, удаляя версии, становится невозможно увидеть, кто изначально работал над чем-то, когда возникли проблемы и т.д. Люди, проверяющие новые версии, научились не вводить комментарий для регистрации, потому что он все равно будет удален.
Обоснование, которое я слышал для удаления старых версий, как правило, сводилось к "хорошим" причинам. Мои более опытные коллеги считают, что удаление этих старых ветвей делает деревья версий для файлов "чище". Они утверждают, что нет никаких оснований хранить эти старые версии, как только они будут объединены с нашим сундуком. Они также обеспокоены тем, что другие разработчики случайно сохранят эти устаревшие ветки в своих представлениях конфигурации конфигурации. Наконец, они утверждают, что удаление этих ветвей сохраняет дисковое пространство на сервере CM.
Я прав, что имею плохое отношение к этому, или есть другие магазины разработки, которые успешно работают таким образом? Если вы также думаете, что это плохая идея, какие другие аргументы в пользу сохранения старых версий вы бы поставили? Если вы успешно работали с таким процессом, какие выгоды вы наблюдали?
Отредактировано для уточнения: предыдущие версии туловища всегда сохраняются. Это ветки, где материал изначально был создан или изменен, которые удалены.