В честь окончания года, для праздничного «айтишного» настроения: 550+ репозиториев команды SEMrush на одном видео.
Спонсор показа Gource
Под катом пара слов о том, как это сделано.
Думаю с Gource знакомить никого не нужно, на хабре уже не раз писали как она работает.
Как визуализировать несколько реп в одном окне подробно описано в вики самой тулы. В нашем случае дополнительно понадобилось добавить мета папку по названию команды для каждой репы. Поэтому на итоговом видео явно заметны толстые ветки от корня — это как раз кластер репозиториев одной команды.
Все подписи пришлось скрыть. Частично по секурным, а больше по визуальным соображениям. Они просто превращали всё дерево в кашу.
Настройки для рендера меня устроили такие
Ну и пока это видео рендерилось (а это три часа на не самой слабой машине), я успел накидать проектик по визуализации публичных реп произвольного пользователя с Github. Буду натравливать его на кандидатов =)
Иногда бывает полезно узнать, как работают с гитом твои коллеги, однако, не надо ограничивать gource git-ом. Это очень классная тула, которая позволяет быстро сделать красивую визуализацию, а вот чего именно — вопрос фантазии. Я лично собираюсь мониторинг кравлера, наконец, очеловечить.
Конечно, не всё в нём идеально: на большом графе он откровенно не справляется с автофокусом и запустить его без трансляции на экран у меня не вышло. И это только самые серьёзные хотелки, но настроить можно очень многое.
Всем спасибо, всем добра! =)
Спонсор показа Gource
Под катом пара слов о том, как это сделано.
Думаю с Gource знакомить никого не нужно, на хабре уже не раз писали как она работает.
Как визуализировать несколько реп в одном окне подробно описано в вики самой тулы. В нашем случае дополнительно понадобилось добавить мета папку по названию команды для каждой репы. Поэтому на итоговом видео явно заметны толстые ветки от корня — это как раз кластер репозиториев одной команды.
Все подписи пришлось скрыть. Частично по секурным, а больше по визуальным соображениям. Они просто превращали всё дерево в кашу.
Настройки для рендера меня устроили такие
gource -1920x1080 --disable-auto-skip -s 2 -e 0.005 --hide-filenames --hide-dirnames --hide-usernames --bloom-multiplier 0.2 --user-scale 3.0 final.log
ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 -preset slow output.mp4
Ну и пока это видео рендерилось (а это три часа на не самой слабой машине), я успел накидать проектик по визуализации публичных реп произвольного пользователя с Github. Буду натравливать его на кандидатов =)
Вместо послесловия
Иногда бывает полезно узнать, как работают с гитом твои коллеги, однако, не надо ограничивать gource git-ом. Это очень классная тула, которая позволяет быстро сделать красивую визуализацию, а вот чего именно — вопрос фантазии. Я лично собираюсь мониторинг кравлера, наконец, очеловечить.
Конечно, не всё в нём идеально: на большом графе он откровенно не справляется с автофокусом и запустить его без трансляции на экран у меня не вышло. И это только самые серьёзные хотелки, но настроить можно очень многое.
Всем спасибо, всем добра! =)
Hokum
А то что на видео отображается так как будто какие-то куски веток вдруг превратились в один узел, это у вас были какие-то «схлопывания» больших кусков истории или просто утилита визуализации так уменьшает количество отображаемых узлов?
Судя по видео репозитории у вас довольно ветвистые, вы как-нибудь поддерживаете линейность продуктовых веток или используете git-flow и что получилось, то и получилось?
esemi Автор
1. Тула насколько я знаю ничего сама не схлопывает в точку. Она убивает листья (файлы) которые давно никто не трогал, но этот процесс очень плавный и на резкое схлопывание не тянет ну никак) Я думаю это был рефакторинг с удалением ненужных иерархий.
2. У нас каждая команда пляшет как хочет, многие используют git-flow в своих репах, но ваш вопрос видимо не про то. На видео 30 команд (ветки от корня), 550+ репозиториев (следующий уровень) и только ветка мастера от каждой репы. Это всё хоть и выглядит как один огромный проект, внутри делится на много отдельных проектов/инструментов/либ/сервисов итд.