Etiquette pour modifier la demande de pull de quelqu'un


19

Je possède un référentiel sur GitHub auquel quelqu'un a envoyé une demande de pull avec un seul commit. Je ne veux implémenter que partiellement sa solution et utiliser environ la moitié des modifications de code apportées par l'utilisateur. Que dois-je faire dans cette situation?

Faites une branche de sa version, puis revenez en arrière et copiez et collez le "vieux" code que je veux conserver de la version d'origine dans un deuxième commit. Cela peut faire en sorte que la différence entre les validations soit plus grande qu'elle ne l'est en réalité et perturber des choses comme git blame.

Copiez et collez le code que je souhaite conserver de son commit dans un nouveau commit différent . Cela signifie qu'il ne reçoit pas de crédit pour sa précieuse contribution au code.

Comme ci-dessus, copiez une partie de son code dans un nouveau commit, mais changez l'auteur du commit pour lui au lieu de moi . Techniquement, il n'a pas écrit le code exact qui a été commis, donc je ne sais pas si cela est mal vu. Mais au moins, il obtient l'attribution des lignes utilisées.


1
N'oubliez pas que git distingue "auteur" et "committer". Ainsi, lorsque vous réécrivez leurs commits pour ne contenir que ce que vous voulez réellement, ils seront toujours considérés comme des auteurs. Et vous, le commis.
Jan Hudec

Réponses:


36

J'irais avec l'option 4: expliquer au contributeur pourquoi sa demande d'extraction ne correspond pas aux objectifs du projet (et dans le processus donner au contributeur une chance d'expliquer pourquoi il pense que c'est le cas ) et lui demander de soumettre à nouveau une nouvelle version contenant seuls les changements qui correspondent au projet.

Cela présente trois avantages:

  1. Vous n'avez pas à faire le travail ;-)
  2. Le contributeur aura une meilleure compréhension de vos objectifs, ce qui rendra plus probable que les contributions futures ne nécessitent aucun changement
  3. En plus de conserver un sentiment d'appartenance, le contributeur est reconnu et reconnu comme ayant apporté une contribution utile. Tout cela les rend plus susceptibles de continuer à contribuer

3
Un exemple classique de solution sociale à un problème technique.
paul
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.