Возможно, вы не захотите это слышать, но нет лучшего способа. Сказав это, я скажу вам, что мы делаем.
Мы делаем почти все разработки в представлении по умолчанию. Когда мы достаточно близки к тому, чтобы выпустить одну версию продукта, над которой мы хотим начать работать над следующей версией, всякий раз, когда это происходит, мы создаем производное представление для выпускаемой версии. Производное представление устанавливается как ветвление при изменении.
Мы продолжаем разработку версии, которая будет выпущена, и следующей версии в представлении по умолчанию. Когда есть исправление ошибки или функция, которая должна быть включена в версию для выпуска, есть две возможности:
- Единственное, что изменилось в этом файле, - это исправление ошибки или функция, которую мы хотим использовать как в версии, так и в следующей версии.
- В файл были внесены изменения, которые предполагается включить в следующую версию, но не в версию, которая будет выпущена.
В случае (1) мы переходим в производное представление, щелкаем правой кнопкой мыши по файлу, выбираем Advanced-> Behavior и изменяем конфигурацию так, чтобы файл включал только что сделанные нами изменения. В случае (2) мы проверяем файл в представлении по умолчанию (чтобы изменения были включены в следующую версию) и в производное представление (чтобы изменения были включены в версию, которая будет выпущена, и , конечно, только включая эти изменения), вызывая его ветвление.
Для ясности, мы делаем почти всю нашу работу в представлении по умолчанию. Нам редко приходится вручную разветвлять или изменять конфигурацию файлов в производных представлениях, потому что мы вообще не создаем производные представления, пока не подойдем к выпуску.
Это не слишком далеко от того, что вы предлагаете сделать для своих клиентов, но важным моментом является работа в представлении по умолчанию и во избежание необходимости выполнять массовые слияния вверх или вниз в производных представлениях. Инструмент сравнения / слияния StarTeam просто не так хорош. (Мы используем 2005 год; с тех пор он мог улучшиться.)