8

Я в группе, которая начинает разрабатываться с использованием ансамбля InterSystems (интеграционная структура, построенная поверх InterSystems Caché).Контроль версий для InterSystems Ансамбль/Caché

Компания InterSystems не предоставила контроль за исходным кодом управления Ensemble Management Portal, и это кажется источником проблем для команды разработчиков, к которой мы хотели бы обратиться.

Я хотел бы знать, какую систему управления версиями вы используете для Ensemble/Caché и как вы структурируете свой процесс разработки вокруг нее.

ответ

4

Я нашел VC/m, систему управления версиями, предназначенную для Caché.

Не стесняйтесь, если оставлять комментарии, если у вас был опыт.

4

Другой альтернативный вариант TrackWare, который также разработан специально для Caché.

3

Если вы не боитесь разработки, вы можете сделать некоторые разработки, чтобы подключить студию к вашему текущему инструменту управления исходным кодом. В кеше есть крючки, которые позволяют обнаруживать изменения в файлах и взаимодействовать с вашим средством управления исходным кодом.

Вот ссылка на PDF-файл теге описывает основу: Using the Studio Source Control Hooks

Конечно с этим решением, которое вы должны будете сделать много работы на вашей стороне.

+0

Это решение для Caché, но InterSystems не обеспечило контроль за исходным кодом управления Ensemble Management Portal, так что перехватчики не активируются при изменении производств Ensemble:/ – fglez

+1

Спасибо за информацию. Есть ли другие предложения, которые вы предложили, управлять частью ансамбля? – FrenchData

+0

Это не так, потому что они реализуют те же самые крючки :(Я хотел знать, столкнулся ли кто-то с этим и как они имеют дело (создание процесса обновления с участием людей - единственное решение, которое приходит на ум). – fglez

0

Поздний ответ, но в любом случае - вы можете взглянуть на CodeTools от Synerva. , CodeControl работает как плагин Studio

0

Synerva's CodeTools предлагает довольно хорошее решение для этого. давно используют это по нескольким проектам.

1

Я использую Mercurial, и хотя я использую крюк управления исходным кодом Cache Studio (я не использую ансамбль). Я думаю, что в основном одно и то же решение будет работать для вас.

Ключ в том, что это распределенный контроль источника. Таким образом, все, что нужно сделать, - это сохранить, экспортировать текущий файл в папку на моем жестком диске и проверить его в моем локальном репозитории. Когда все работает правильно локально, я выталкиваю его в центральный репозиторий - другими словами, я просто использую распределенное управление источником в обычном режиме.

Приятно совершить каждое спасение, так как это дает мне способ отбросить назад, если я что-то испортил, но это не обязательно. Вы можете написать что-то, что выводит код в локальный репозиторий, когда вы вызываете его из командной строки Cache.

С распределенным источником управления тот факт, что функции регистрации и выписки не поддерживаются, не имеет значения, вы обрабатываете эти проблемы путем слияния при нажатии в центральный репозиторий (или, тем не менее, вы решили структурировать свои репозитории).

Одно предупреждение - для определения класса кэша они экспортируются как XML в формате, который вы не определяете. Он включает отметку времени, когда был создан файл, и последнюю измененную дату. Они обманывают систему управления источниками, думая, что они изменились, когда они этого не сделали. Таким образом, вам придется анализировать XML, по крайней мере, достаточно, чтобы вытеснить их.Я не знаю флага, чтобы предотвратить их создание в первую очередь.

+0

$ system.OBJ.Export принимает в качестве своего третьего параметра строку, содержащую флаги (задокументированные как qspec). Отправка "/ diffexport = 1 »(исключая кавычки) в этом параметре будет исключать отметки времени модификации (и пару других вещей) из экспорта –

+0

@SteveMallam - Спасибо! Вы знаете, где это задокументировано. Это не в методе ShowFlags или документации класса – psr

+0

Извинения - просто увидел этот вопрос. Не знаю о документации, но из% Справочника класса SYSTEM.OBJ (например, http://docs.intersystems.com/cache20122/csp /documatic/%25CSP.Documatic.cls?CSPCHD=00c00v3d00002bwfZO2x6U0000EYSBS6XxkRToTmb6F2qrGw--) «qspec - это список флагов или квалификаторов, которые могут отображаться с помощью« Do $ system.OBJ.ShowQualifiers() »и« Do $ system.OBJ .ShowFlags() '» –

Смежные вопросы