Подтвердить что ты не робот

Есть ли script, который помещает git в твиттер?

Git известен своим рекомендуемым пределом длины для заголовков сообщений фиксации: первая строка не должна содержать более 50 символов (чтобы соответствовать заголовку электронной почты).

Это напоминает мне... ну, есть ли крючок, который автоматически отправляет сообщения об объявлении на твиттер, как только они будут перенесены на сервер?

4b9b3361

Ответ 1

Здесь вы идете:

#!/bin/sh
username=<your Twitter account>
password=<your Twitter password>

service_uri=http://api.twitter.com/1/statuses/update.json

subject=`git log --pretty=format:%s -n1`

curl -u "${username}:${password}" -d status="${subject}" $service_uri

Сохранить как .git/hooks/post-commit в вашем репозитории и сделать его исполняемым.

[Примечание: полностью непроверенный, я просто сделал это на месте.]

Ответ 3

Я установил крюк Git post-commit, который отправляется в мою личную учетную запись Twitter каждый раз, когда я делаю локальную фиксацию в моем репозитории разработки. Вот что я сделал:

  • Зарегистрировать приложение с помощью Twitter. Вот как вы это делаете:
  • Откройте оболочку на компьютере, на котором вы планируете совершать (и чирикать).
  • Установите http_post. Вам придется скомпилировать это из источника. (make и make install). Убедитесь, что он доступен из вашего PATH.
  • Установите oauth_sign. Вам также придется скомпилировать этот источник формы. (сделать и сделать установку). Убедитесь, что он доступен из вашего PATH.
  • Наконец, сохраните следующий script в .git/hooks/post-commit в репозитории Git.

    #!/bin/sh
    
    # PATH modification needed for http_post and oauth_sign
    export PATH=$PATH:/usr/local/bin
    
    toplevel_path=`git rev-parse --show-toplevel`
    toplevel_dir=`basename "$toplevel_path"`
    
    branch=`git rev-parse --abbrev-ref HEAD`
    subject=`git log --pretty=format:%s -n1`
    hashtags="#code #$toplevel_dir"
    tweet=$hashtags' ['$branch']: "'$subject'"'
    
    # truncate tweets that are longer than 140 characters
    if [ ${#tweet} -gt 140 ]
        then
            tweet_trunc=$(echo $tweet | cut -c1-137)
            tweet=${tweet_trunc}...
    fi
    
    consumer_key="<Put your computer key here>"
    consumer_secret="<Put your consumer secret here>"
    access_token="<Put your access token here>"
    access_secret="<Put your access token secret here>"
    url="https://api.twitter.com/1.1/statuses/update.json"
    
    http_post -h Authorization "$(oauth_sign \
    $consumer_key $consumer_secret \
    $access_token $access_secret \
    POST "$url" status="$tweet")" \
         "$url" status="$tweet"
    
  • Убедитесь, что вы делаете исполняемый файл. (chmod a+x .git/hooks/post-commit)

  • Вот оно! Если вы хотите, чтобы это было автоматически добавлено в любые новые репозитории, которые вы делаете, измените шаблоны git -core. Вы должны выяснить, где они (это разные для каждой установки). Для меня они расположены здесь:/opt/local/share/git -core/templates/hooks/post-commit.

Примечание: Все это основано на этом script: http://fanf.livejournal.com/108436.html

Удачи!

- Дэвид

Ответ 4

Некоторые поисковые системы обнаружили friedcode. Не пробовал это сам, но, похоже, это делает работу.

Ответ 5

Я знаю, что это старо, но некоторое время назад я написал этого парня: https://github.com/mrsnowf1ake/twitter-git-hook

Вы можете окружать любую часть фиксации с помощью _* и *_. Это не совсем то, что вы упомянули здесь, но оно делает что-то подобное.

Ответ 6

https://github.com/and-computers/HowToTweetEveryCommit

Это оболочка script, которая запускает python script для размещения ваших сообщений фиксации в учетной записи Twitter. вам необходимо предоставить 4 токена для вашей учетной записи, как указано в другом ответе, создав приложение twitter на https://apps.twitter.com/

Удачи!