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

Публикация № 1023033

Программирование - Инструментарий

хранилище 1script onescript разработка история

36
Полагаю, многие коллеги уже встречали ролики, в которых при помощи утилиты 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 Гб. На этом все, всем отличных визуализаций.

36

Скачать файлы

Наименование Файл Версия Размер
Скрипт конвертации отчета по истории хранилища 1С в custom log format Gource
.os 5,73Kb
17.03.19
0
.os 5,73Kb Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Scorpion4eg 241 18.03.19 10:30 Сейчас в теме
За что минус?? Классная вещь для медитации...
2. aleximuson 18.03.19 11:24 Сейчас в теме
Если у кого-то были сомнения - начать или не начать использовать GIT с 1С. То после увиденного все сомнения должны отпасть 😊
5. Vladimir Litvinenko 1698 18.03.19 16:20 Сейчас в теме
(2) Не отпадут. От красивых картинок нет практической пользы и уже готовые всегда можно найти на Ютубе. Для работы через git и практики код ревью нужна воля, в первую очередь руководителя разработки. И понятная цель. Потому что это требует времени. Затраты времени должны быть оправданы, хотя бы тем, что система будет развиваться и должна оставаться стабильной и надёжной.

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

Сейчас в основном как и написано в публикации
Но потом энтузиазм поутих, а коммиты остались.


P.S.: Непонятно, откуда столько веток в визуализации? Ведь хранилище линейно. Применялась технология разветвленной разработки? Или это просто рандомное соединение коммитов друг с другом?
EMelihoff; aleximuson; spy-83; +3 Ответить
6. aleximuson 18.03.19 16:24 Сейчас в теме
(5) надо было теги поставить [Сарказм][/Сарказм]

Да, практической пользы минимум. Но красиво жеж?!!
7. Vladimir Litvinenko 1698 18.03.19 16:28 Сейчас в теме
(6) Эх, не понял сарказма )) Да, красиво. Но вопрос по поводу веток остаётся. Есть подозрение, что программа произвольным образом соединяет коммиты, не анализируя их фактической взаимосвязи.
Natain14; logarifm; +2 Ответить
8. mickey.1cx 333 18.03.19 17:17 Сейчас в теме
(5)
Непонятно, откуда столько веток в визуализации? Ведь хранилище линейно. Применялась технология разветвленной разработки? Или это просто рандомное соединение коммитов друг с другом?

Нет, не рандомное. Здесь объединены четыре хранилища разных проектов, к названию измененного объекта добавлен предикат имени проекта. Выполнена замена разделителей "." к "/", так же я добавил первый уровень как расширение файла.
Получается строка вида ИмяПроекта/Документ/ПланПродаж/Форма/ФормаДокумента.Документ
Подобное представление gource воспринимает как иерархию папок ИмяПроекта/Документ/ПланПродаж/Форма с файлом ФормаДокумента.Документ.
aleximuson; pavlov_dv; Vladimir Litvinenko; +3 Ответить
10. Vladimir Litvinenko 1698 18.03.19 17:59 Сейчас в теме
Понял, спасибо. То есть отображается иерархия модифицированных объектов метаданных, включая переходы на новые релизы, а не ветвление.
3. rusmil 145 18.03.19 14:46 Сейчас в теме
Очень красиво, а какая практическая польза от такой визуализации (просто я не в теме)?
9. mickey.1cx 333 18.03.19 17:49 Сейчас в теме
(3) Своего рода ретроспектива деятельности команды за несколько лет. Может служить презентацией проекта.
А вот здесь пытались применять визуализацию уже как инструмент анализа состояния проекта.
11. Scorpion4eg 241 18.03.19 20:13 Сейчас в теме
(3) или вывести на телевизор вместо камина и медитировать.
4. Rustig 1161 18.03.19 15:34 Сейчас в теме
12. 3vs 19.03.19 05:46 Сейчас в теме
У людей много свободного времени заниматься ерундой.
dkoder; monkbest; +2 2 Ответить
13. Климов Сергей 19.03.19 10:52 Сейчас в теме
Прикольное таймлапс видео. Можно на скринсейвер поставить.
14. dkoder 20.03.19 11:18 Сейчас в теме
Все еще назад смотрим!

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

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