Apakah ada cara agar GitHub mengirim pemberitahuan komit termasuk diff?

11

Adakah yang tahu cara untuk membuat notifikasi permintaan tarik / permintaan email GitHub termasuk perbedaan komit?

Saya tahu tentang kait layanan email, tetapi itu tidak mengirim diff.

Oin
sumber
Anda mungkin ingin mengikuti github.com/github/github-services/issues/149 - kait layanan bahkan tidak mendapatkan perbedaan
Alex Dupuy
Jangan menahan nafas, meskipun, github.com/github/github-services/issues/86 ditutup pada bulan April, jadi sepertinya tidak mungkin mereka akan melakukan apa pun dengan masalah 149 juga.
Alex Dupuy
Pertanyaan ini dijawab (dalam negatif, sebagian besar) di stackoverflow.com/questions/4211107/…
Alex Dupuy
@Alex - Apakah Anda ingin memposting komentar Anda sebagai jawaban untuk membantu memindahkan pertanyaan ini dari halaman depan pertanyaan yang belum terjawab?
Shannon Wagner
@ShannonWagner - jadi diposting. Saya bahkan menemukan cara untuk mewujudkannya, menggunakan sumber daya lokal dan alat-alat lain, tetapi petunjuknya hanya garis besar kasar, dan untuk mewujudkannya akan membutuhkan skrip, perakitan, dan baterai yang tidak termasuk.
Alex Dupuy

Jawaban:

3

Saat ini, tidak ada cara untuk melakukan apa yang Anda inginkan hanya menggunakan GitHub. Seperti tercantum dalam /programming/4211107/how-to-get-email-diffs-for-github-pushes , tidak ada dukungan di dalam GitHub untuk mengirim email termasuk e-mail termasuk diff. Ada dua masalah GitHub yang bertanya tentang hal ini - http://github.com/github/github-services/issues/86 (ditutup) dan http://github.com/github/github-services/issues/149 tetapi meskipun mereka mengatakan ini adalah sesuatu yang mungkin mereka terapkan di masa depan, tidak ada indikasi ini akan terjadi.

Karena itu, jika Anda bersedia menjalankan server web atau email Anda sendiri (lokal atau cloud, tetapi dengan skrip) dengan repositori git, Anda dapat membuatnya sendiri menggunakan notifikasi pasca-penerimaan GitHub ( http: //help.github .com / artikel / pasca-terima-kait) dikirim ke server web Anda, atau notifikasi email normal (tanpa perbedaan) yang dikirim ke alamat khusus pada server email Anda. Pilihan antara pemberitahuan web dan email akan dibuat tergantung di mana & bagaimana Anda hosting server Anda - jika Anda memiliki konektivitas & keandalan yang baik, pemberitahuan web akan memiliki latensi terendah, tetapi jika server web Anda tidak dapat dijangkau karena alasan apa pun, Anda tidak akan mendapatkan pemberitahuan hingga komit berikutnya yang dibuat saat server web Anda dapat dijangkau; menggunakan e-mail akan menunda seluruh proses, tetapi mungkin lebih baik jika Anda hosting ini di rumah, dan terutama untuk mesin apa pun yang tidak selalu aktif.

Dalam kedua kasus tersebut, Anda harus menulis skrip yang menerima notifikasi (email atau web / JSON) dan menarik repo yang relevan dari GitHub ke repositori lokal, di mana Anda harus mengatur postingan internal Git menerima mekanisme kait untuk menjalankan sesuatu seperti http://github.com/jtek/git-hook-update-notify-email (disebutkan dalam artikel stackoverflow di atas) atau jika Anda bersedia & dapat menginstal & menggunakan Pygments (kode Python colorizer) mungkin sesuatu yang lebih bagus seperti http://blog.chomperstomp.com/making-git-show-post-receive-e-mails-as-an-html-color-formatted-diff/ (ditautkan ke / dari https: //stackoverflow.com/questions/3232270/git-post-receive-email-hook-to-show-an-html-formatted-color-diff/ ).

Ini sedikit pekerjaan scripting, dan mengharuskan Anda memiliki beberapa infrastruktur hosting untuk menjalankan web atau server e-mail, skrip tarik-lokal, dan kemudian kait pasca-terima lokal untuk menghasilkan e-mail aktual dengan diff, tetapi harus dimungkinkan untuk mengatur ini dalam waktu kurang dari sehari.

Alex Dupuy
sumber