Управление версиями в «1C:Предприятие 8» (git)Управление версиями в «1C:Предприятие 8» (git)

Набор инструментов для автоматической разборки внешних обработок при помещении в git для управления и контролем версий.

На самом деле, поиск инструментов, которые удовлетворяли бы некоторым базовым требованиям велись уже давно. Но решение всегда ускользало от меня, я участвовал в большом количестве вебинаров, встреч, обсуждений и дело не сдвигалось с места. После участия в infostart-ивенте ко мне на глаза попал очень интересный проект Евгения Сосны (github).

Суть проекта Евгения заключается в том, что при выполнении команды «git commit» обработки\отчеты автоматически распаковываются и добавляются в репозиторий. Соответственно можно смотреть версии и изменения модулей и множество других полезностей. Вроде все что нужно, но не тут то было. По сути я сделал свой fork с блекджеком и …

Какие проблемы были решены:

  • Как оказалось нормально распаковываются только обработки для обычного приложения, а у компании вся работа с УФ. Посидев с бубнами и разобравшись с V8Reader — внес небольшие изменения;
  • Скорость парсинга была не ахти. Решено было написать новую обработку и за основу взять часть кода, оптимизировав, а лишнее выкинуть и по дороге дописать что-то свое;
  • Последней неприятностью было то, что при добавлении файлов распаковки (git commit) они всем скопом заменялись и было сложно сразу понять что же у нас изменилось, хотя по своей сути изменялось 1-2 модуля из 40. Тут на помощь пришла «1C:Предприятие 8.3» с встроенными функциями хеширования. Перед записью файлов модулей обработка начала сверять их хэши (по алгоритму SHA-1) и записывать только не совпадающие, а так же удалять те модули которых уже в обработке нет.

Состав архива:

Скачать можно отсюда https://bitbucket.org/pbazeliuk/v8commit, скриншот куда это нужно положить чтобы оно начало работать:

Управление версиями в «1C:Предприятие 8» (git)

От pbazeliuk

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *