Когда вы используете UCM и создаете базовую линию, вы фактически идентифицируете ревизию заранее определенной подгруппы хранилища (компонент UCM, определенный в Vob, если вы не определили один весь Vob в качестве компонента)
Поэтому, если вы используете SVN, Git или Mercurial, вы должны понимать, что каждый из ваших компонентов UCM фактически будет одним (SVN-Git-or-Mercurial) хранилищем.
Кроме того, вам нужно будет воссоздать понятие зависимостей UCM («редактировать базовые зависимости», которых нет ни у одного из этих инструментов).
Принцип ближайшего приближения описан в этом SO ответе : это может быть сделано, но остается ручным.
Примечание: «Нулевое обслуживание - для этого инструмента нет администратора VCS». ... с этим все в порядке:
- резервное копирование
- DRP (План аварийного восстановления)
- правильный доступ для определенных репозиториев с «чувствительным» контентом
- скриптинг и инкапсуляция клиента для определенных операций
- ....
Не имеет значения, какой инструмент вы выберете, вам понадобится администратор (не полный рабочий день, но все еще довольно вовлеченный в задачи администратора)
Относительно "отслеживаемости", которая в основном представлена действиями в UCM, но также и иерархией потоков, позволяющей определить рабочий процесс слияния, в Git / Mercurial это не очень хорошо работает: эти инструменты разные.
Для Git коммит - это самое близкое действие, особенно если учесть, что * git rebase -i
(интерактивная перебазировка) позволяет вам переопределить содержание коммита (немного похоже на повторный выбор действия для нового действия). выписка)
Что касается слияния, так как они так просты в Git или Mercurial, нет реального «рабочего процесса слияния», формально определяемого с помощью операции доставки / ребазирования.
Скорее частные ветки создаются и используются / объединяются по усмотрению пользователя, некоторые из этих веток публикуются в другом внешнем хранилище.