В честь окончания года, для праздничного «айтишного» настроения: 550+ репозиториев команды SEMrush на одном видео.


Спонсор показа 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-ом. Это очень классная тула, которая позволяет быстро сделать красивую визуализацию, а вот чего именно — вопрос фантазии. Я лично собираюсь мониторинг кравлера, наконец, очеловечить.
Конечно, не всё в нём идеально: на большом графе он откровенно не справляется с автофокусом и запустить его без трансляции на экран у меня не вышло. И это только самые серьёзные хотелки, но настроить можно очень многое.

Всем спасибо, всем добра! =)

Комментарии (2)


  1. Hokum
    28.12.2017 20:07

    А то что на видео отображается так как будто какие-то куски веток вдруг превратились в один узел, это у вас были какие-то «схлопывания» больших кусков истории или просто утилита визуализации так уменьшает количество отображаемых узлов?

    Судя по видео репозитории у вас довольно ветвистые, вы как-нибудь поддерживаете линейность продуктовых веток или используете git-flow и что получилось, то и получилось?


    1. esemi Автор
      28.12.2017 21:05

      1. Тула насколько я знаю ничего сама не схлопывает в точку. Она убивает листья (файлы) которые давно никто не трогал, но этот процесс очень плавный и на резкое схлопывание не тянет ну никак) Я думаю это был рефакторинг с удалением ненужных иерархий.

      2. У нас каждая команда пляшет как хочет, многие используют git-flow в своих репах, но ваш вопрос видимо не про то. На видео 30 команд (ветки от корня), 550+ репозиториев (следующий уровень) и только ветка мастера от каждой репы. Это всё хоть и выглядит как один огромный проект, внутри делится на много отдельных проектов/инструментов/либ/сервисов итд.