Визуализация процесса разработки

Полагаю, многие коллеги уже встречали ролики, в которых при помощи утилиты Gource(https://gource.io) выполняется красивая визуализация процесса разработки по истории изменений в системе контроля версий. Предлагаю свои пару видео по проектам ERP, а так же скрипт конвертации отчета по истории хранилища в необходимый формат.

Был период, когда я экспериментировал с выгрузкой хранилища 1С в git для выполнения code review. Репозитории наполнялись при помощи 1С:ГитКонвертер, для работы с кодом использовался Upsource. Но потом энтузиазм поутих, а коммиты остались. И спокойно себе лежали ровно до того момента, когда я, просматривая очередной подобный ролик, подумал: "вот был бы у меня такой код, я бы…". "У вас есть такой код" — услужливо подсказала память.

Через минуту я уже изучал документацию, как склеить историю нескольких репозиториев git в один. Немного подчистив получившийся сводный лог, получил следующий результат:

Данные в git выгружались из хранилища 1С ближе к дате начала эксперимента, поэтому захотелось большего — визуализации истории за все время проекта. В ходе изучения документации стало понятно, что утилита может отобразить любые данные, приведенные к формату custom log format. В качестве источника данных был выбран текстовый формат отчета по истории хранилища.

Для конвертации текста использовался 1Script. Причина — наличие возможности работы с регулярными выражениями из коробки, без применения com-объекта VBScript.RegExp. Результат — визуализация истории разработки по четырем проектам ERP за последние три года.

Скрипт выкладываю в "базовой" редакции, после были еще правки со своей спецификой. Коммиты с созданием хранилища и прочие с тысячами объектов (обновление на новый релиз, например) лучше пропускать, gource начинает тормозить. Если сохранять видео с помощью gource для последующей конвертации, подготовьте заранее место на диске. Пять минут в 1920х1080 займут примерно 100 Гб. Конвертация такого файла при помощи ffmpeg в mp4 съест еще примерно 5 Гб. На этом все, всем отличных визуализаций.

14 Comments

  1. Scorpion4eg

    За что минус?? Классная вещь для медитации…

    Reply ↓
  2. aleximuson

    Если у кого-то были сомнения — начать или не начать использовать GIT с 1С. То после увиденного все сомнения должны отпасть 😊

    Reply ↓
  3. rusmil

    Очень красиво, а какая практическая польза от такой визуализации (просто я не в теме)?

    Reply ↓
  4. Rustig

    прикольно)

    Reply ↓
  5. Vladimir Litvinenko

    (2) Не отпадут. От красивых картинок нет практической пользы и уже готовые всегда можно найти на Ютубе. Для работы через git и практики код ревью нужна воля, в первую очередь руководителя разработки. И понятная цель. Потому что это требует времени. Затраты времени должны быть оправданы, хотя бы тем, что система будет развиваться и должна оставаться стабильной и надёжной.

    Целью разработки в 1С, как правило, являются быстрые деньги для разработчика и решение проблемы здесь и сейчас, в том числе самыми неэкологичными методами, для заказчика. Поэтому широкое распространение git получит только с подачи фирмы 1С (наверное уже скоро). И будет применяться сначала фирмами-франчайзи, а затем и на местах. Но по минимуму, как сейчас хранилище, а не для поддержания качества. Опять же если фирма 1С не заставит делать иначе )) Тем более что самые популярные доработанные БП и ЗУП вообще в постоянной стабильности не нуждаются и применение git на местах для них неоправданно и слишком затратно.

    Сейчас в основном как и написано в публикации

    Но потом энтузиазм поутих, а коммиты остались.

    P.S.: Непонятно, откуда столько веток в визуализации? Ведь хранилище линейно. Применялась технология разветвленной разработки? Или это просто рандомное соединение коммитов друг с другом?

    Reply ↓
  6. aleximuson

    (5) надо было теги поставить [Сарказм][/Сарказм]

    Да, практической пользы минимум. Но красиво жеж?!!

    Reply ↓
  7. Vladimir Litvinenko

    (6) Эх, не понял сарказма )) Да, красиво. Но вопрос по поводу веток остаётся. Есть подозрение, что программа произвольным образом соединяет коммиты, не анализируя их фактической взаимосвязи.

    Reply ↓
  8. mickey.1cx

    (5)

    Непонятно, откуда столько веток в визуализации? Ведь хранилище линейно. Применялась технология разветвленной разработки? Или это просто рандомное соединение коммитов друг с другом?

    Нет, не рандомное. Здесь объединены четыре хранилища разных проектов, к названию измененного объекта добавлен предикат имени проекта. Выполнена замена разделителей «.» к «/», так же я добавил первый уровень как расширение файла.

    Получается строка вида ИмяПроекта/Документ/ПланПродаж/Форма/ФормаДокумента.Документ

    Подобное представление gource воспринимает как иерархию папок ИмяПроекта/Документ/ПланПродаж/Форма с файлом ФормаДокумента.Документ.

    Reply ↓
  9. mickey.1cx

    (3) Своего рода ретроспектива деятельности команды за несколько лет. Может служить презентацией проекта.

    А вот здесь пытались применять визуализацию уже как инструмент анализа состояния проекта.

    Reply ↓
  10. Vladimir Litvinenko

    Понял, спасибо. То есть отображается иерархия модифицированных объектов метаданных, включая переходы на новые релизы, а не ветвление.

    Reply ↓
  11. Scorpion4eg

    (3) или вывести на телевизор вместо камина и медитировать.

    Reply ↓
  12. 3vs

    У людей много свободного времени заниматься ерундой.

    Reply ↓
  13. Климов Сергей

    Прикольное таймлапс видео. Можно на скринсейвер поставить.

    Reply ↓
  14. dkoder

    Все еще назад смотрим!

    Нужен такой примерно инструмент, но для планирования разработки, связанный с методикой группы разработчиков.

    Надо в будущее смотреть!

    Reply ↓

Leave a Comment

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