Представьте приложение с несколькими выпущенными версиями: V1.0, V1.1 и V1.2.Файлы, зависящие от версии
Теперь представьте один или несколько связанных файлов, которые зависят от версии, например руководство пользователя, функциональный набор тестов или техническая документация. В идеале эти файлы будут проверяться в версии вместе с самим приложением, так что легко просмотреть и/или просмотреть все файлы, относящиеся к определенной версии (например, запустить функциональные тесты как часть непрерывной сборки).
Проблема в том, что любой из этих файлов может потребоваться обновить, даже если код отсутствует. Например, мы могли бы обнаружить ошибки в руководстве пользователя V1.0, которое мы хотим исправить в интересах клиентов, которые все еще используют эту версию. Или мы можем улучшить освещение функциональных тестов для V1.2, чтобы обнаружить ошибки в этой версии до того, как наши клиенты сделают это. Соответственно, изменив эти файлы, как мы их передаем в управление версиями? Мы не выпускаем новые версии программного обеспечения, а только новые версии файлов, которые идут с ними.
FWIW, мы используем SVN.
Это почти так же, как нам нужна трехмерная система контроля версий, где каждая ревизия кода (т.е. узел в дереве разработки) может сама иметь ветку для файлов без кода, подобных упомянутым выше ... –
Какая система управления версиями вы используете в настоящее время? –
@Andrew: CLearcase способен на такое управление версией «3d». Это немного дорогой зверь. – skaffman