Управление версиями управления конфигурацией ( CMVC ) — это программный пакет, который служит репозиторием объектов и выполняет функции управления версиями программного обеспечения , управления конфигурацией и управления изменениями.
Архитектура
Это была клиент-серверная система с командной строкой и графическими клиентами для нескольких платформ и серверами, доступными для нескольких разновидностей Unix.
Для хранения отслеживаемой информации использовалась реляционная база данных, но для ведения истории версий каждого файла использовался отдельный Source Control Manager, такой как Source Code Control System (SCCS) или PVCS. Имена файлов для этих файлов фактически хранятся в реляционной базе данных — в результате имена файлов в дереве SCCS представляют собой числовые идентификаторы.
Концепции
Файлы создаются и связываются с компонентами.
Компоненты образуют направленный граф, где каждый компонент может иметь несколько родителей. Компоненты представляют собой логический механизм группировки, позволяющий группировать файлы независимо от их физических путей (в отличие от каталогов или папок, которые лежат на пути).
Разрешения могут быть предоставлены на уровне компонента, что позволяет осуществлять распределенное администрирование. Может быть предоставлено разрешение на предоставление других разрешений.
Релиз представлял собой набор файлов с общим корнем. Релизы могли обмениваться файлами с другими релизами. Совместное использование могло быть определено для следования последней версии (иногда называемой «tip») или определенной версии в релизе. Это называлось «связыванием».
Уровень — это снимок всех файлов. Похож на «тег» в других системах управления исходным кодом, но с изюминкой. Если выпуск находится в «режиме связывания» (используется чаще всего), уровни содержат только файлы, на которые ссылаются LevelMembers (дефекты и функции). В результате уровень содержит только изменения (версии файлов), которые одобрены, а не только последние версии файлов в репозитории.
Функции
Отслеживание дефектов было интегрировано в систему управления исходным кодом.
Возможность настройки репозитория таким образом, чтобы дефекты обязательно связывались с каждой регистрацией файла.
Уровни используются для управления наборами дефектов, позволяя менеджерам мыслить в терминах наборов изменений, а не наборов файлов.
Распределенное администрирование позволяет делегировать полномочия. Это особенно полезно в больших командах.
Он имеет возможность отслеживать историю файлов даже после переименования. Это связано с тем, что имя файла на диске было числом, а имя файла в базе данных могло быть изменено.
Файлы могут быть общими для разных версий исходного кода.
Слабые стороны
Блокировка была единственным механизмом управления доступом к файлам. Это было типично для систем управления исходным кодом того времени, но сегодня это считалось бы серьезным недостатком. Самая последняя реализация стала более надежной, позволяя параллельную разработку, разрешение конфликтов и слияние.
Наличие централизованного сервера ограничивает возможность работы в отсоединенном режиме. Хотя это недостаток почти всех систем удаленного управления исходным кодом, если только не создан локальный репозиторий, создающий иллюзию избыточности и управления исходным кодом, что в конечном итоге потребует синхронизации с удаленным сервером управления исходным кодом в какой-то момент для отправки любых дельт.
История
Он продавался и распространялся в середине-конце 1990-х годов корпорацией International Business Machines Corporation (IBM) и был частично создан на основе программного обеспечения, приобретенного у HP, и системы IBM IDSS, предназначенной только для внутреннего использования.
В 1990-х годах эта система использовалась для управления репозиториями исходного кода IBM OS/2 и IBM AIX .
Продажи и поддержка CMVC прекратились некоторое время спустя после того, как IBM приобрела Rational Software , его функции были заменены продуктами в линейке продуктов Rational ( Rational ClearCase и Rational ClearQuest ). Тем не менее, некоторые клиентские установки CMVC продолжают использоваться по состоянию на 2008 год [обновлять]. [1]
Ссылки
Ди Гранде, Кармин (1994), Вы сказали CMVC? , IBM RedBooks
Трулссон, Лейф (1995), Взгляд на CMVC с точки зрения клиента , IBM RedBooks
Ю, Сон Р. (1994), «Универсальный процесс разработки для малых и крупных проектов с использованием IBM CMVC», Труды конференции 1994 года Центра передовых исследований по совместным исследованиям , IBM Press
Брукхаус, Тильманн (1993), «Влияние внедрения инструмента в процесс разработки программного обеспечения», Труды конференции 1993 года Центра перспективных исследований по совместным исследованиям: программная инженерия - Том 1
^ Рани, Сандхья. Настройка непрерывной интеграции для IBM System Planning Tool. developerWorks: 07 марта 2014 г. Интернет. http://www.ibm.com/developerworks/aix/library/au-system-planning-tool/