GitHubに差分を含むコミット通知を送信させる方法はありますか?


11

誰かがGitHubのメールコミット/プルリクエスト通知にコミットの完全な差分を含める方法を知っていますか?

メールサービスフックについては知っていますが、それでは差分が送信されません。


あなたはgithub.com/github/github-services/issues/149でチャイムしたいと思うかもしれません-サービスフックは差分を取得しません
Alex Dupuy

ただし、息を止めないでください。github.com/ github / github-services / issues / 86は4月に閉鎖されたため、問題149でも何も実行されないようです。
Alex Dupuy、2012年

この質問は、stackoverflow.com
Alex Dupuy

@アレックス-この質問を未回答の質問の最初のページから移動できるように、コメントを回答として投稿しますか?
シャノンワグナー

@ShannonWagner-投稿されました。ローカルリソースやその他のツールを使用して、すべてを実現する方法まで思い付きましたが、手順は大まかな概要にすぎず、実現するにはスクリプト、アセンブリ、およびバッテリーが含まれていません。
Alex Dupuy

回答:


3

現時点では、GitHubだけを使用してやりたいことを行う方法はありません。/programming/4211107/how-to-get-email-diffs-for-github-pushesに記載されているように、GitHub内では、差分を含むメールを送信するためのサポートはありません。これについて尋ねられる2つのGitHub問題があります-http : //github.com/github/github-services/issues/86(closed)とhttp://github.com/github/github-services/issues/149しかし、これは彼らが将来実装するかもしれないものであると彼らは言う、これが起こる兆候はない。

つまり、gitリポジトリを使用して独自の(ローカルまたはクラウドでホストされますが、スクリプトを使用して)Webサーバーまたは電子メールサーバーを実行する場合は、GitHub受信後通知(http://help.github .com / articles / post-receive-hooks)Webサーバーに送信されるか、電子メールサーバーの特別なアドレスに送信される通常の(diffなしの)電子メール通知。Web通知と電子メール通知のどちらを選択するかは、サーバーをホストしている場所と方法に応じて行われます。接続性と信頼性が良好であれば、Web通知のレイテンシは最小限になりますが、何らかの理由でWebサーバーに到達できない場合は、 Webサーバーが到達可能である間に行われる次のコミットまで通知を受け取りません。電子メールを使用すると、プロセス全体が遅延しますが、これを自宅でホストしている場合、特に常時稼働しているとは限らないマシンでは特に好ましい場合があります。

いずれの場合も、(電子メールまたはWeb / JSON)通知を受け取り、GitHubからローカルリポジトリに関連するリポジトリをプルするスクリプトを作成する必要があります。ここで、Gitの内部ポストを設定する必要があります。http://github.com/jtek/git-hook-update-notify-email(上記のstackoverflowの記事で説明)のようなものを実行するためのフックメカニズムを受信するか、Pygmentsをインストールして使用する意思がある場合(Pythonコードcolorizer)おそらくhttp://blog.chomperstomp.com/making-git-show-post-receive-e-mails-as-an-html-color-formatted-diff/(httpsにリンク/から: //stackoverflow.com/questions/3232270/git-post-receive-email-hook-to-show-an-html-formatted-color-diff/)。

これは少しのスクリプト作業であり、Webまたは電子メールサーバーを実行するためのホスティングインフラストラクチャ、local-pullスクリプト、およびdiffを使用して実際の電子メールを生成するためのローカルのpost-receiveフックが必要ですが、これは1日未満でセットアップできるはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.