Был период, когда я экспериментировал с выгрузкой хранилища 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 Гб. На этом все, всем отличных визуализаций.
За что минус?? Классная вещь для медитации…
Если у кого-то были сомнения — начать или не начать использовать GIT с 1С. То после увиденного все сомнения должны отпасть 😊
Очень красиво, а какая практическая польза от такой визуализации (просто я не в теме)?
прикольно)
(2) Не отпадут. От красивых картинок нет практической пользы и уже готовые всегда можно найти на Ютубе. Для работы через git и практики код ревью нужна воля, в первую очередь руководителя разработки. И понятная цель. Потому что это требует времени. Затраты времени должны быть оправданы, хотя бы тем, что система будет развиваться и должна оставаться стабильной и надёжной.
Целью разработки в 1С, как правило, являются быстрые деньги для разработчика и решение проблемы здесь и сейчас, в том числе самыми неэкологичными методами, для заказчика. Поэтому широкое распространение git получит только с подачи фирмы 1С (наверное уже скоро). И будет применяться сначала фирмами-франчайзи, а затем и на местах. Но по минимуму, как сейчас хранилище, а не для поддержания качества. Опять же если фирма 1С не заставит делать иначе )) Тем более что самые популярные доработанные БП и ЗУП вообще в постоянной стабильности не нуждаются и применение git на местах для них неоправданно и слишком затратно.
Сейчас в основном как и написано в публикации
P.S.: Непонятно, откуда столько веток в визуализации? Ведь хранилище линейно. Применялась технология разветвленной разработки? Или это просто рандомное соединение коммитов друг с другом?
(5) надо было теги поставить [Сарказм][/Сарказм]
Да, практической пользы минимум. Но красиво жеж?!!
(6) Эх, не понял сарказма )) Да, красиво. Но вопрос по поводу веток остаётся. Есть подозрение, что программа произвольным образом соединяет коммиты, не анализируя их фактической взаимосвязи.
(5)
Нет, не рандомное. Здесь объединены четыре хранилища разных проектов, к названию измененного объекта добавлен предикат имени проекта. Выполнена замена разделителей «.» к «/», так же я добавил первый уровень как расширение файла.
Получается строка вида ИмяПроекта/Документ/ПланПродаж/Форма/ФормаДокумента.Документ
Подобное представление gource воспринимает как иерархию папок ИмяПроекта/Документ/ПланПродаж/Форма с файлом ФормаДокумента.Документ.
(3) Своего рода ретроспектива деятельности команды за несколько лет. Может служить презентацией проекта.
здесь пытались применять визуализацию уже как инструмент анализа состояния проекта.
А вот
Понял, спасибо. То есть отображается иерархия модифицированных объектов метаданных, включая переходы на новые релизы, а не ветвление.
(3) или вывести на телевизор вместо камина и медитировать.
У людей много свободного времени заниматься ерундой.
Прикольное таймлапс видео. Можно на скринсейвер поставить.
Все еще назад смотрим!
Нужен такой примерно инструмент, но для планирования разработки, связанный с методикой группы разработчиков.
Надо в будущее смотреть!