Caché-Git — это модуль контроля версий для Caché Studio, который обеспечивает вызов диалоговых окон TortoiseGit непосредственно из Studio и полуавтоматическую синхронизацию рутин между Caché и локальным репозиторием.
В каждой области выбираются пакеты, проекты, классы, рутины, dfi-файлы, csp-страницы, csp-приложения которые будут остлеживаться Caché-Git.
Всякий раз при сохранении отслеживаемой программы, она будет экспортироваться на диск в репозиторий. При открытии программа будет загружаться из репозитория, если версия, находящаяся в нём свежее.
Caché-Git работает только на компьютерах, на которых установлен и сервер и клиент Caché. Caché-Git не будет работать при соединении с удалённым сервером.
Где взять
Репозиторий с Caché-Git находится по адресу github.com/intersystems-ru/cache-tort-git. Там же есть wiki, в которой описаны шаги по установке и использованию
Установка Caché-Git
Коротко
На время установки отключить read-only на CACHELIB и импортировать файл с проектом в область %SYS. Для нужных областей (например SAMPLES и USER) назначить класс %SourceControl.Git как класс контроля версий.
Подробно
На время установки вы должны включить возможность записи в базу CACHELIB. Это делается через «Портал управления системой». Выберите «Администрирование системы > Конфигурация > Конфигурация системы > Локальные базы данных». Щёлкните на ссылке «редактировать» в строке с CACHELIB и в выпадающем списке «Только чтение?» выберите «Нет». После установки Caché-Git флаг можно будет вернуть обратно.
В Caché Studio выберите область %SYS и импортируйте («Инструменты > Импортировать локально») файл c Caché-Git. Всё, можно опять запрещать запись в CACHELIB.
Теперь нужно установить области, в которых для контроля версий будет использоваться Caché-Git. Для этого в «Портале управления системой» выберите «Администрирование системы > Конфигурация > Дополнительные настройки > Система контроля версий». Для нужных вам областей отметьте класс %SourceControl.Git и нажмите «OK». Пример в этом туториале будет работать с областью SAMPLES, поэтому выберите класс %SourceControl.Git как класс системы контроля версий для неё.
***
После установки, в Caché Studio при выборе области, в которой Caché-Git назначен как система контроля версий, появится меню «Git».
Настройка
Чтобы настроить Caché-Git выберите меню «Git > Settings» в Caché Studio и укажите два параметра:
- Путь к файлу tortoiseproc.exe. Это файл из программы TortoiseGit
- Путь к временной папке, в которой будут создаваться локальные репозитории.
Эти параметры общие для всех областей.
Настройки TortoiseGit вызываются через меню «Git > Tortoise Git Settings».
Работа с локальным репозиторием
Откройте область SAMPLES. Чтобы проинициализировать репозиторий в области, выберите меню «Git > Create repo» и нажмите пару раз «OK». Меню Git приобретёт полный вид.
В инспекторе выберите элемент, который вы хотите добавить в Git, щёлкните по нему правой кнопкой и в контекстном меню Git выберите «Add to SourceControl».
Затем выберите пункт меню «Git > Commit». В нижней части открывшегося окна выберите все файлы и добавьте (щелчок правой кнопкой > Add) их к версионным. Если файлов нет — поставьте галочку Show Unversioned Files. Напишите комментарий к коммиту. Нажмите OK, а затем Close.
Файл sc-list.txt содержит список элементов, которые отслеживаются Caché-Git. Он нужен для того, чтобы передавать между двумя репозиториями информацию о программах, которые контролируются Git.
Два важных параграфа
Всякий раз, когда вы добавляете новый элемент к Caché-Git или сохраняете уже существующий, этот элемент экспортируется во временную папку, поэтому при вызове команд TortoiseGit (таких как, например, commit, push, revert и так далее) нет необходимости выгружать все программы (Git >Export All), которые отслеживаются Caché-Git.
При импорте наоборот. Во-первых, при pull или revert может измениться значительная часть программ. Во-вторых, вызов окон TortoiseGit из Caché Studio асинхронный и нет возможности узнать, когда то или иное окно закрыто и закончилась операция обновления файлов. ПОЭТОМУ. После всех операций, выполненных TortoiseGit, которые могут менять содержимое рабочей папки, выберите пункт меню «Git > Import All». Это команды — Clone, Pull, Fetch, Revert. Всякий раз, когда при выполнении одной из этих команд в окне вывода будет появляться напоминание «Choose Import All menu after work with Git»
Работа с удалённым репозиторием
Загрузить содержимое своего репозитория на сервер можно, выбрав пункт меню «Git > Push» и указав в поле «Arbitrary URL» адрес репозитория.
Подключение к репозиторию
Каждый локальный репозиторий Caché-Git хранится внутри подпапки папки указанной как временной при настройке (обычно, это c:temp). Имя этой подпапки совпадает с именем области (namespace), например c:tempUSER или c:tempSAMPLES.
Чтобы подключиться к удалённому репозиторию — выберите меню «Git > Clone». Введите имя репозитория, например «http://git.assembla.com/demo.git». TortoiseGit сам добавит имя папки demo к пути c:tempuser, так что получится c:tempuserdemo. Сотрите последнее «demo», так чтобы осталось только c:tempuser. Это нужно сделать только при клонировании, дальше при выполнении команд push, pull и так далее ничего не нужно будет менять.
Использование
Основной рабочий цикл выглядит так:
- Выполните Pull.
- Разберите конфликты в TortoiseGit, если есть
- Чтобы загрузить изменения с диска в Caché, выберите меню Import All.
- Выполните изменения в Caché Studio.
- [Необязательно] Чтобы принудительно выгрузить изменения с диска в Caché, выберите меню Export All.
- Выберите Commit
- Выберите Push или из меню Caché Studio или сразу после Commit.
Пример установки и работы можно посмотреть на видео:
Автор: adaptun