Кратко: сохраняем лог 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
Комментарии (29)
Andrey_Solomatin
28.06.2024 05:55Сложновато будет, но можно попробовать Янус Двуликий за разные аккаунты для одного и тоге же человека.
Например если на GitHub скрыть email то мердж который в UI будет с твоим именем, но с другим email. Я иногда в опенсорс с рабочего компа с рабочим мылом комитил.
В общем четрые аккаунта на одного человека это бывает.bakhirev Автор
28.06.2024 05:55Это к сожалению трудно скриптом определить. Люди ставят разные имена и абсолютно непохожие почты. Но попробую
Andrey_Solomatin
28.06.2024 05:55+1Может быть в UI дать возможность самому аккунты смерджить. Будет еще здорово, если удасться подтянуть иконки из граватара.
Гитхаб знает о моих аккаунтах и поэтому сводит статистику вместе. А здесь они в разных группах.
Если возможно понять, что проект на гитхабе то может удаться что-то вытянуть оттуда. Например те-же иконки.
Andrey_Solomatin
28.06.2024 05:55Есть автор и есть коммитер, например если PullRequest мерджит майнтейнер рекозитория.
Andrey_Solomatin
28.06.2024 05:55+2Что-нибудь на тему линейной истории. У меня на работе вообще нет мердж коммитов. "аршин проглотил"
bakhirev Автор
28.06.2024 05:55Код сразу в мастер/dev льется? Ну вот это будет легко прикрутить
Aldrog
28.06.2024 05:55Или просто мёрж исключительно через fast-forward либо squash (это у нас такая практика).
Andrey_Solomatin
28.06.2024 05:55Нет, через ревью. Просто нельзя замерджить, если не fast-forward.
В гитхабе можно настроить, что pull request мерджитсья только через rebase и/или squash and merge. И еще запретить push для мерджей.
Andrey_Solomatin
28.06.2024 05:55Коммиты с одинаковым сообщением. Видел что-то типа токого: Fix, Fix, Revert:Fix, Fix
bakhirev Автор
28.06.2024 05:55+4fix-man и значок какого нибудь Рассомахи или спайдера. И за пару revert — зассал или «что ж ты фраер сдал назад» или «к успеху шел, не фартануло». Только на английский тяжко будет перевести
Fi1osof
28.06.2024 05:55+1А вы не могли бы упростить жизнь другим? - Дать возможность указывать ссылку на публичный github-репозиторий, или даже лучше на профиль, чтобы вы стянули все его репозитории? А если всю логику перетянуть на фронт, так и на ваш сервис никакой нагрузки по траффику не будет - все можно тянуть на стороне фронта простым fetch-ем.
bakhirev Автор
28.06.2024 05:55+1Фронтом не вытянуть, тк лог выдерается через консольную команду гиту. А арендовать сервер под это дело — подумаю. Дело в том, что буквально 10 человек с монорепами на пару гигов по сути завалят его работой. По опросам народ больше хотел «развернуть у себя», поэтому пока фокус был такой (обход приватных реп, склейка данных о разных микросервисах и тп)
Alekfov
28.06.2024 05:55+1Если на то пошло то можно глянуть в эту сторону https://github.com/petersalomonsen/wasm-git
Trimeon
28.06.2024 05:55В gitlab/gitea внедрить бы такой функционал для дополнительного стимула разработчиков :)
bakhirev Автор
28.06.2024 05:55На всякий случай проговорю, что все эти ачивки можно посмотреть и для пользователей gitlab/gitea. А вот плагин-интеграцию в интерфейс действительно хочется, но пока не хватает ресурсов разработки на это дело (
danilovmy
28.06.2024 05:55Очень круто! В "размер имеет" два мм в описании. Или это намек, что в миллиметрах?
bakhirev Автор
28.06.2024 05:55Нет, просто так)) На самом деле «самый короткий»: текст коммита, имя, срок работы, email — все подходит под фразу и трудно иконки придумывать для разных ачивок. Была мысль 15см с Ивлеевой, но это не перевести. Не знаю какие ещё фразы подобрать для соседних ачивок того же типа
Tirarex
28.06.2024 05:55+1Оценка работников веселая. Оказалось что работники которые делают большие таски (от чего коммитят мало), это бесполезные работники у которых слишком мало коммитов и кода, а еще он слоу ведь на рисерч он тратил больше двух дней (о чудеса скрама с задачами по часу из которых 30 минут уходит на созвоны) , а еще за них идет самая большая переплата. Зато человек который шпарит простые задачи десятью коммитами в день, это самый продуктивный молодец.
morheus9
Я дико извиняюсь, но почему коробля, а не корАбля ? или это мемы какие-то?
bakhirev Автор
нет, просто опечатка, поправлю
morheus9
А так как будто бы круто