Un mainteneur de github doit-il réécrire les requêtes d’extraction de l’auteur?


44

Je ne suis pas programmeur de profession, mais je code et utilise github. J'ai rencontré ce que je trouve être une situation surprenante. Je suis très familier avec git.

Il y a un projet pour lequel j'ai trouvé un (petit) bug qui me concernait. J'ai passé un après-midi à le trouver et à le réparer. J'ai créé le référentiel, validé la modification et émis une demande d'extraction. Après avoir constaté qu'il était fermé alors que "fusionné dans une branche de développement", je compris que tout allait bien.

Aujourd'hui, je parcourais le référentiel en train de préparer le retrait de ma branche et je ne trouve pas du tout où le commit a été fusionné dans le référentiel du responsable. Après un certain temps, je réalise que cela a été ajouté en tant que commit, mais l'auteur n'est plus moi.

Autant que je sache, la seule façon de le faire serait d'utiliser spécifiquement une réécriture d'historique, de modification ou autre pour supprimer l'auteur d'origine.

Cela me semble très faux. Au mieux, c'est déroutant, au pire, l'auteur de ce référentiel prend le crédit pour les engagements de tous, puis l'historique du contributeur original est perdu. Encore une fois, c'est un petit bug, je ne l'utilise pas pour mon CV professionnel, cela semble simplement malhonnête.

Est-ce normal? Dois-je en dire quelque chose?

Edit: Le sentiment général semble être que je devrais aller demander, alors je vais le faire ce matin.

Selon la demande ci-dessous. J'ai vérifié et mon code existe et a été appliqué exactement tel que je l'ai écrit (y compris le commentaire). J'ai vérifié que l'auteur et l'auteur avaient été changés. Un changement supplémentaire a également été ajouté en même temps que mes changements. C'est une seule ligne, ce qui affecterait le patch ainsi que le code précédent. IE l'ajout d'une ligne n'est pas lié au bogue que je corrigeais.

Mise à jour Il semble que la réponse soit que l'auteur gère une branche de développement et ne souhaite pas y fusionner depuis sa branche principale. Il a ré-écrit mon engagement pour éviter une fusion. Je n'étais pas préoccupé par le fait que la branche d'origine soit très puissante, car elle permet de sélectionner, de réorganiser et de fusionner les commits au besoin.

Est-ce typique sur github?
Devrais-je contacter le responsable d'un projet pour demander à quelle branche appliquer les correctifs?


7
+1 pour avoir posé une question éthique sur le codage :) Intéressé de savoir s’il s’agit du comportement par défaut, cela demande un peu plus de travail de la part du responsable. Ou cela arriverait-il si le responsable modifiait légèrement votre commit après avoir accepté votre demande d'extraction?
Sunil D.

C'est une bonne question. Je ne suis pas assez familier avec github pour répondre à ce qui est normal . Cependant, je pense qu'il est possible de sélectionner avec l'option -n, d'apporter des modifications, puis de la valider. Changer efficacement l'auteur.

4
Le responsable a peut-être appliqué votre modification manuellement plutôt que de la fusionner. Je suggère de demander au responsable à ce sujet (sans l’accuser de malhonnêteté).
Keith Thompson

6
Juste pour être clair, c'est "l'auteur" qui a changé, n'est-ce pas? Pas le "committer"? Je demande seulement parce que la distinction est extrêmement importante quand il s’agit de l’éthique du plagérisme de code.
Christopher

2
Vous ne dites pas quelle est la taille du correctif (lignes de code) ni comment le code est concédé sous licence, mais on pourrait soutenir que cela pourrait également constituer une violation de vos droits d'auteur.
Jaydee

Réponses:


20

Non, ils ne devraient pas, si évitables. C'est un problème qui, selon mon expérience, arrive trop souvent. Cependant, j'estime qu'il s'agit davantage d'une méconnaissance de l'utilisation correcte de git que d'une personne qui cherche à voler du crédit.

  • S'ils souhaitent modifier votre modification avant de l'appliquer à leur branche principale, ils peuvent facilement créer une branche pour votre modification. Ils peuvent ensuite ajouter leur propre commit après le vôtre, puis fusionner la branche.
  • Si votre demande d'extraction n'est pas basée sur la dernière version de leur branche principale, ils peuvent alors émettre un git rebase master. S'il y a des conflits, ils peuvent choisir de les résoudre eux-mêmes (sans changer d'auteur) ou vous donner la possibilité de les résoudre.

Je pense que Github pourrait et devrait rechercher ce type de vol accidentel de crédits et informer les responsables de la maintenance des meilleures pratiques, le cas échéant.


6

Vous avez omis certains détails clés ici.

  • Si la façon dont vous avez "corrigé" le bogue n’a pas plu aux responsables, ou même qu’elle a introduit ses propres bogues, le responsable aurait peut-être dû modifier votre travail avant de le valider. Dans ce cas, il est compréhensible de changer l'auteur.

  • Comme d'autres l'ont mentionné, l' auteur est assez différent du committer . Comme vous le savez peut-être déjà, l'auteur est celui qui a réellement créé le commit, tandis que le committer serait celui qui l'appliquerait.

Vous devriez examiner de près le commit et mettre à jour votre question avec vos conclusions.


1
Je viens d'aller vérifier ça. Il n'y a pas de changements dans mon patch. Il y avait un changement d'une ligne avant et non lié à mon patch qui a été ajouté au même moment.
user1585512

3

Il semble que la réponse a été que l'auteur conserve une branche de développement et ne souhaite pas y fusionner de sa branche principale. Il a ré-écrit mon engagement pour éviter une fusion.


12
Ensuite, ils auraient dû utiliser git cherry-pick.
svick

3

Pour répondre à votre question mise à jour:

Il est difficile de dire ce qui est typique de github, au-delà de dire que chaque projet est typiquement différent et que chacun a son propre processus préféré. Généralement, la meilleure approche avant d’envoyer une demande d’extraction consiste à demander quel est leur flux de travail ou à essayer de voir si vous pouvez le savoir en vous basant sur les demandes d’extraction fermées précédentes.

D'après mon expérience personnelle, si vous ne posez pas de question, généralement, au mieux, ils clôtureront la demande de tirage sans commentaire (dans le pire des cas) ou laisseront un commentaire expliquant la procédure à suivre pour vous demander de mettre à jour votre demande de tirage. Je dirai que la façon dont le responsable dans votre cas a réagi semble étrange, mais que cela a peut-être été la voie de la moindre résistance. Je doute que cela ait été intentionnellement destiné à voler du crédit.

Je suggérerais que vous demandiez au responsable d'ajouter une documentation expliquant comment il souhaite recevoir les demandes de tirage et contre quelle branche pour éviter la confusion et le manque de crédit à l'avenir. Je souhaite que davantage de projets fournissent cette documentation, car je pense que cela inciterait davantage les gens à participer au projet.

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.