Кратко: сохраняем лог git в файл и кидаем в браузер тут.

Привет Хабра. Год назад я писал о разных визуализаторах статистики git и своем велосипеде (аналог git stat). За это время удалось внести много улучшений, в том числе существенно увеличить набор ачивок для программистов. Но настал творческий тупик и мне уже не хватает фантазии придумывать новые ачивки. Они должны быть смешные, с издевкой и легко переводиться на другие языки. Может у вас будут идеи? Текущий набор выглядит так:

Чтобы посмотреть свои ачивки нужно сохранить лог git`а в txt файл:

git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%cN>%cE>%s" > log.txt

и кинуть его в окно браузера. Дальше скрипт распарсит текст и посчитает статистику. На вкладке «люди» можно будет выбрать конкретного члена команды и посмотреть его достижения.

Ссылка на github: https://github.com/bakhirev/assayo

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


  1. morheus9
    28.06.2024 05:55
    +3

    Я дико извиняюсь, но почему коробля, а не корАбля ? или это мемы какие-то?


    1. bakhirev Автор
      28.06.2024 05:55

      нет, просто опечатка, поправлю


      1. morheus9
        28.06.2024 05:55
        +4

        А так как будто бы круто


  1. Andrey_Solomatin
    28.06.2024 05:55

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

    Например если на GitHub скрыть email то мердж который в UI будет с твоим именем, но с другим email. Я иногда в опенсорс с рабочего компа с рабочим мылом комитил.

    В общем четрые аккаунта на одного человека это бывает.


    1. bakhirev Автор
      28.06.2024 05:55

      Это к сожалению трудно скриптом определить. Люди ставят разные имена и абсолютно непохожие почты. Но попробую


      1. Andrey_Solomatin
        28.06.2024 05:55
        +1

        Может быть в UI дать возможность самому аккунты смерджить. Будет еще здорово, если удасться подтянуть иконки из граватара.

        Гитхаб знает о моих аккаунтах и поэтому сводит статистику вместе. А здесь они в разных группах.

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


  1. Andrey_Solomatin
    28.06.2024 05:55

    Есть автор и есть коммитер, например если PullRequest мерджит майнтейнер рекозитория.


  1. Andrey_Solomatin
    28.06.2024 05:55
    +2

    Что-нибудь на тему линейной истории. У меня на работе вообще нет мердж коммитов. "аршин проглотил"


    1. bakhirev Автор
      28.06.2024 05:55

      Код сразу в мастер/dev льется? Ну вот это будет легко прикрутить


      1. Aldrog
        28.06.2024 05:55

        Или просто мёрж исключительно через fast-forward либо squash (это у нас такая практика).


      1. Andrey_Solomatin
        28.06.2024 05:55

        Нет, через ревью. Просто нельзя замерджить, если не fast-forward.

        В гитхабе можно настроить, что pull request мерджитсья только через rebase и/или squash and merge. И еще запретить push для мерджей.


  1. Andrey_Solomatin
    28.06.2024 05:55

    Коммиты с одинаковым сообщением. Видел что-то типа токого: Fix, Fix, Revert:Fix, Fix


    1. bakhirev Автор
      28.06.2024 05:55
      +4

      fix-man и значок какого нибудь Рассомахи или спайдера. И за пару revert — зассал или «что ж ты фраер сдал назад» или «к успеху шел, не фартануло». Только на английский тяжко будет перевести


      1. pulsatrix
        28.06.2024 05:55

        «что ж ты фраер сдал назад»

        why did you, loser, go away?


  1. immchenko
    28.06.2024 05:55
    +6

    Достижение «Добро пожаловать, снова», если человек ушел из проекта, но спустя пару месяцев вернулся.


  1. Fi1osof
    28.06.2024 05:55
    +1

    А вы не могли бы упростить жизнь другим? - Дать возможность указывать ссылку на публичный github-репозиторий, или даже лучше на профиль, чтобы вы стянули все его репозитории? А если всю логику перетянуть на фронт, так и на ваш сервис никакой нагрузки по траффику не будет - все можно тянуть на стороне фронта простым fetch-ем.


    1. bakhirev Автор
      28.06.2024 05:55
      +1

      Фронтом не вытянуть, тк лог выдерается через консольную команду гиту. А арендовать сервер под это дело — подумаю. Дело в том, что буквально 10 человек с монорепами на пару гигов по сути завалят его работой. По опросам народ больше хотел «развернуть у себя», поэтому пока фокус был такой (обход приватных реп, склейка данных о разных микросервисах и тп)


      1. Alekfov
        28.06.2024 05:55
        +1

        Если на то пошло то можно глянуть в эту сторону https://github.com/petersalomonsen/wasm-git


  1. Athelbiban
    28.06.2024 05:55
    +1

    "Работа не walk" - отлично сказано, спасибо!


  1. Trimeon
    28.06.2024 05:55

    В gitlab/gitea внедрить бы такой функционал для дополнительного стимула разработчиков :)


    1. bakhirev Автор
      28.06.2024 05:55

      На всякий случай проговорю, что все эти ачивки можно посмотреть и для пользователей gitlab/gitea. А вот плагин-интеграцию в интерфейс действительно хочется, но пока не хватает ресурсов разработки на это дело (


  1. danilovmy
    28.06.2024 05:55

    Очень круто! В "размер имеет" два мм в описании. Или это намек, что в миллиметрах?


    1. bakhirev Автор
      28.06.2024 05:55

      Нет, просто так)) На самом деле «самый короткий»: текст коммита, имя, срок работы, email — все подходит под фразу и трудно иконки придумывать для разных ачивок. Была мысль 15см с Ивлеевой, но это не перевести. Не знаю какие ещё фразы подобрать для соседних ачивок того же типа


  1. Tirarex
    28.06.2024 05:55
    +1

    Оценка работников веселая. Оказалось что работники которые делают большие таски (от чего коммитят мало), это бесполезные работники у которых слишком мало коммитов и кода, а еще он слоу ведь на рисерч он тратил больше двух дней (о чудеса скрама с задачами по часу из которых 30 минут уходит на созвоны) , а еще за них идет самая большая переплата. Зато человек который шпарит простые задачи десятью коммитами в день, это самый продуктивный молодец.


    1. Aleus1249355
      28.06.2024 05:55

      О дивный современный мир!