Etiket untuk mengedit permintaan tarikan seseorang

19

Saya memiliki repositori di GitHub di mana seseorang mengirim permintaan tarik dengan satu komit tunggal. Saya hanya ingin mengimplementasikan solusinya sebagian, dan menggunakan sekitar setengah dari perubahan kode yang dibuat pengguna. Apa yang harus saya lakukan dalam situasi ini?

Buat cabang dari versinya, lalu kembali dan salin dan tempel kode "lama" yang ingin saya pertahankan dari versi aslinya menjadi komit kedua. Ini dapat membuat perbedaan antara komit terlihat lebih besar dari yang sebenarnya, dan membuang hal-hal seperti git blame.

Salin dan tempel kode yang ingin saya simpan dari komitnya menjadi komit baru dan berbeda . Ini berarti bahwa dia tidak menerima kredit atas kontribusinya yang berharga pada kode.

Sama seperti di atas, salin beberapa kodenya ke komit baru, tetapi ubah pembuat komit kepadanya bukan saya . Dia secara teknis tidak menulis kode persis yang dilakukan, jadi saya tidak yakin apakah ini disukai. Tapi setidaknya dia mendapat atribusi untuk jalur-jalur yang digunakan.

IQAndreas
sumber
1
Ingat bahwa git membedakan "author" dan "committer". Jadi, ketika Anda menulis ulang komitmen mereka hanya berisi apa yang sebenarnya Anda inginkan, mereka akan tetap dianggap sebagai penulis. Dan Anda pengendara.
Jan Hudec

Jawaban:

36

Aku akan pergi dengan opsi 4: menjelaskan kepada kontributor mengapa permintaan tarik nya tidak sesuai dengan tujuan proyek (dan dalam proses memberikan kontributor kesempatan untuk menjelaskan mengapa ia berpikir itu tidak ) dan memintanya untuk mengirim ulang versi baru yang berisi hanya perubahan yang sesuai dengan proyek.

Ini memiliki tiga manfaat:

  1. Anda tidak perlu melakukan pekerjaan ;-)
  2. Kontributor akan mendapatkan pemahaman yang lebih baik tentang tujuan Anda, membuatnya lebih mungkin bahwa kontribusi masa depan tidak memerlukan perubahan
  3. Selain mempertahankan rasa memiliki, kontributor diakui dan diakui telah memberikan kontribusi yang bermanfaat. Semua itu membuat mereka lebih mungkin untuk terus berkontribusi
Jörg W Mittag
sumber
3
Contoh klasik dari solusi sosial untuk masalah teknis.
paul