Превращаем скучные логи Git'a в захватывающую анимацию

  • Tutorial


Каждый, кто посвятил себя работе с компьютерами, хоть раз, но сталкивался с распространёнными высказываниями вроде: «Помоги мне сделать %work%, ты ведь всё равно без дела за компом сидишь». Особенно часто в эту ситуацию попадаёшь, когда работаешь непосредственно в окружении коллег проделывающих ручную работу. Для этих людей ты зачастую представляешься воплощением безделия и главным пользователем youtube.
Сейчас я покажу вам один из приёмов, как превратиться в глазах сотрудников из лодыря в волшебника.

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

С моим появлением тут же остро встал вопрос о создании системы управления версиями и возможностью быстрого отката к рабочей версии. Так как выбор был не велик, мы остановились на Git. Он и удобен и вспомогательного софта хватает. Сказано, сделано. Установили нужное ПО, настроили сервера и резервные копии, разработали план взаимодействия.

Но пока мы всем этим занимались, у шефа появился справедливый вопрос, а что же мы такое делаем, но без проявления результатов на самом сайте. Не прожигаем ли мы денежки впустую. Тут я ещё раз напомню, что для стороннего, непосвящённого наблюдателя, мы и правда иногда выглядим бездельниками. Для ответа на эти вопросы мы по-быстрому настроили шефу доступ к одному из сервисов, показывающих список всех изменений в проектах, объяснили как пользоваться и успокоились.

С той поры прошло ровно пол года и коммитов в системе накопилось солидное количество, от которых собственно почти никакой пользы не было. Пока мой коллега не показал мне видео с визуализацией при помощи gource (про него уже писали на хабре) одного из Git-проектов.

Это видео и породило во мне цель, сделать подобное для нашего магазина, используя Windows 7.

Сегодня, уважаемые читатели хабра, я этой цели добился и хочу поделиться с вами пошаговой инструкцией, дабы облегчить вашу жизнь.

Шаг 1:


Скачиваем софт для Git здесь и устанавливаем. Во время установки нужно соблюсти два ключевых момента.

Во-первых разрешить установщику зарегистрировать Git в переменной окружения PATH.


Во-вторых настроить Checkout на неизменность.


Шаг 2:


Скачиваем актуальную версию Gource здесь и устанавливаем в любую удобную нам папку.

Шаг 3:


Вручную добавляем в переменную окружения PATH, путь к папке где лежит gource.exe.
Для этого нужно зайти в Свойства системы->Дополнительно->Переменные среды. Там уже будут переменные PATH. Одна для текущего пользователя, вторая — общесистемная. Кликаете на PATH, затем изменить и добавляете нужный путь, не забыв поставить в конце строки точку с запятой.


Шаг 4:


Запускаем, доступную в Windows, строку ввода команд и в ней пишем следующее:

Параметры которые вы передаёте gource:
-1920х1080 разрешение экрана, которое вы хотите использовать
-f включение полноэкранного режима
--highlight-all-users или --highlight-users выделение всех пользователей
--multi-sampling включение сглаживания граней
С:/… путь к локальной .git папке проекта на вашем компьютере

Всё готово! Остался последний шаг.
Нажимаем клавишу Enter и после короткой, автоматической загрузки логов начинаем наслаждаться цветопредставлением.

P.S.:

Не забывайте, что для желаемого эффекта, ваше участие в Git-проекте должно быть по настоящему активным, в противном случае ваше бездействие тут же разоблачат.

P.P.S.:

Сделаем наш мир красивее!
Я хочу знать, как записать видео из получившейся визуализации!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Поделиться публикацией
Похожие публикации
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 33
  • –6
    АХ ТЫ Ж НИХРЕНА СЕБЕ
    • +33
      Шаг 1 должен быть «ставим винду»
      • +3
        # port install gource
        
        • +3
          sudo apt-get install gource
          


          Супер-штука, конечно. Очень приятно смотреть, как твой проект растет и что как происходит :)
          • +3
            brew install gource
            • +2
              Ждем ебилдов.
              • +2
                А чего их ждать?

                $ eix gource
                * dev-util/gource
                     Available versions:  (~)0.39 (~)0.40
                     Homepage:            http://code.google.com/p/gource/
                     Description:         A software version control visualization tool
                
                
                • 0
                  Да, действительно. Я опечатался в названии, когда проверял.
            • 0
              brew install gource
            • +1
              Так шеф-то успокоился? Между нами — число кода/коммитов как метод оценки чей-то полезности — ну не комильфо же.
              Может быть, гораздо полезнее для обоих сторон было бы разъяснение шефу, что вы занимаетесь внедрением технологий для командной разработки, помимо командной разработки?
              • +1
                Да, шеф успокоился. Мы ему всё в самом начале показали и хорошо объяснили, да он нам и без этого доверяет. А измерять полезность коммитами, согласен, негоже. Поэтому мы этого и не делаем. Есть куда более интересные единицы измерения. Визуализация была для души сделана, чтобы глаз порадовать.
                • +1
                  Есть куда более интересные единицы измерения

                  Хотелось бы услышать.
              • +1
                А если история линейная? По какому принципу оно делает такое разветвление?
                • 0
                  При рендере можно мышкой навести на точку дерева и отобразиться имя файла, с котором была работа.
                  Подозреваю, что данное дерево отображает файловую структуру вашего проекта и если долго не было коммитов, то ветки отмирают.

                  P.S. еще в режиме рендера работает мышка — скроллом можно менять масштаб, «драгом» менять позицию просмотра, а внизу есть полоса прокрутки (она появляется, если мышку вниз сдвинуть)
                  • –2
                    Разветвление делается по принципу дерева папок, так же как это выглядит в проводнике. Каждая папка, это узел, в котором могут находится другие папки и файлы. Хотя на досуге будет интересно создать много вложенных папок, в последнюю положить единственный файл и посмотреть как это выглядит.
                  • +1
                    Как-то давно уже был пост на хабре, напомнили…
                    Старый пост — habrahabr.ru/post/75780/
                    • +1
                      Лет 6-7 назад я делал автоматизацию для генерации таких роликов (визуализация через Gource/Codeswarm)
                      lib.custis.ru/ShowTeamWork
                      • +1
                        И спасибо, до сих пор с удовольствием им пользуюсь :)
                      • +23
                        Пост о том, как скачать и запустить Gource? Вы серьезно?
                        • –12
                          Вполне. И количество просмотров тому подтверждение. Увы не у всех есть свободное время самостоятельно разбираться с подобными шалостями.
                        • 0
                          «Бесконечно долго можно смотреть на три вещи: льющуюся воду, горящий огонь и на то как работает другой человек»
                          Еле-еле заставил себя перемотать по-ближе к концу, завораживает…
                          • 0
                            ноут вырубился от перегрева (запустил через optirun) :)
                            • 0
                              Кстати «git extensions» поддерживает gource «из-коробки» — умеет скачивать, и формирует командную строку
                              • НЛО прилетело и опубликовало эту надпись здесь
                              • 0
                                Вот еще пример:
                                www.youtube.com/watch?v=NEI-rh5-9Jk
                                • 0
                                  • 0
                                    Люди, кто-нибудь может объяснить феномен почему карма поста растёт в плюс, а карма его автора в минус?
                                    • +4
                                      Парадокс Хабрахабра. Те, кто плюсует топик или коммент редко заходят в профиль, чтобы плюсануть карму. Зато многие минусующие воспринимают некоторые вещи как личное оскорбление и поэтому считают своим долгом еще и в карму подна… ать.
                                    • 0
                                      По сути весть пост сводится к четырем командам примерно такого содержания:
                                      brew install gource
                                      brew install ffmpeg
                                      
                                      gource --seconds-per-day 1 1920x1080 --auto-skip-seconds 1 --multi-sampling --stop-at-end --highlight-users --hide mouse,progress --file-idle-time 13 --max-files 0 --background-colour 000000 --font-size 20 --output-ppm-stream output.ppm --output-framerate 30 --hide-filenames ~/PathToGIT/.git/
                                      
                                      ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i output.ppm  -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -threads 3 -bf 0 gource.avi
                                      


                                      Даже, четвертая и вторая команды — плюшки конвертации видео, о которых не идет речи в посте.
                                      • 0
                                        Тут в контексте систем контроля версий возник вопрос — как бы сделать такое же, но для Team Foundation Server от Microsoft. Оказалось, что им тоже пользуются достаточное количество проектов. Я знаю как минимум десяток внутренних
                                        • 0
                                          Весело смотрится проект мейнкрафт с даной темой на ютубе…
                                          Кстати на джаваскрипт находил подобные вещи…
                                          — П.С.: незабудьте глянуть ддос аттаки в визуализации… очень круто смотриться!

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.