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

Petro Bazeliuk —  Февраль 22, 2014 — Оставьте комментарий

Набор инструментов для автоматической разборки внешних обработок при помещении в 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)

Petro Bazeliuk

Записи

Опыт работы с «1С:Предприятие 8» — более 10 лет, за это время реализовано 30 успешных проектов по итеративным методологиям Scrum и Kanban. Оптимальные решения для высоконагруженных ИБ с онлайном от 400 человек. Занимаюсь продвижением в массы системы контроля версий — git и методики git-flow, TDD, BDD, а также проработкой паттерна минимальной модификации конфигурации и внесением изменений без обновления базы данных. Время от времени участвую в проекте xUnitFor1C.

Комментариев нет

Be the first to start the conversation!

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s