Бывает, хочется подойти к подсказанным
Сначала я намеревался написать пост в «Я пиарюсь», но очень хотелось рассказать о технических деталях, потому прошу простить ссылку на мой собранный на коленке git-punish.io.
Задача была простая: пока не выветрился азарт написать что-то вызываемое через
Первым в голову конечно же пришло
Но быстро выяснилось, что многого так не сделаешь. На второе решение навел чей-то добрый совет на Coderwall. Подход сразу показался красивым и лишенным ограничений. Оказывается, в любом месте перечисленном в
Получилось вот так:
Параметр
Разбор вывода малоинтересен, но если очень хочется увидеть то вот. В терминал выводится сгенерированый сервисом короткий URL.
Такие вот дела. Буду рад советам, подсказкам и прочим blame/punish-ам.
UPD
На всякий случай дисклеймер, я понял что он сдесь нужен. Это шуточный сервис.
git blame
-ом коллегам, посмотреть им ласково в глаза и поговорить о наболевшем. В такие моменты отсутствие команды git punish
кажется невообразимым.Сначала я намеревался написать пост в «Я пиарюсь», но очень хотелось рассказать о технических деталях, потому прошу простить ссылку на мой собранный на коленке git-punish.io.
Задача была простая: пока не выветрился азарт написать что-то вызываемое через
git punish
разбирающее вывод команды git blame
и возвращаемое ссылку на страницу в онлайне.Первым в голову конечно же пришло
git config --global alias.punish "...shell command..."
Но быстро выяснилось, что многого так не сделаешь. На второе решение навел чей-то добрый совет на Coderwall. Подход сразу показался красивым и лишенным ограничений. Оказывается, в любом месте перечисленном в
$PATH
можна создать исполняемый файл git-%command%
который добавит новую команду в git.Получилось вот так:
#!/bin/bash
git blame --line-porcelain $@ | curl --data-binary @- http://git-punish.io/create
Параметр
--line-porcelain
включает расширенный вывод для каждой строчки, который удобно разбирать. Добавляем в конец пользовательские параметры $@
. Затем POST
-им весь вывод на git-punish.io/create
. Разбор вывода малоинтересен, но если очень хочется увидеть то вот. В терминал выводится сгенерированый сервисом короткий URL.
Такие вот дела. Буду рад советам, подсказкам и прочим blame/punish-ам.
UPD
На всякий случай дисклеймер, я понял что он сдесь нужен. Это шуточный сервис.