J'ai récemment essayé de m'engager dans la collaboration open source dans GitHub et j'ai rencontré une situation dans laquelle je suis curieux de savoir quelle est la meilleure façon de procéder.
Il y a environ un mois, j'ai trouvé un projet sur GitHub pour une bibliothèque que j'utilisais déjà depuis longtemps et dans laquelle j'avais trouvé (et corrigé) quelques bugs.
Comme première incursion dans la collaboration avec GitHub, j’ai trouvé le dépôt qui semblait contenir le plus grand volume d’activités récentes, corrigé un bogue, ajouté des tests unitaires, transmis à GitHub et envoyé une demande de tirage. En quelques heures, le responsable de la mise en pension que j’ai fourni avait accepté le PR et fusionné avec quelques autres PR qui attendaient également.
Poussé par ceci, j'ai corrigé trois autres bogues que j'avais trouvés, chacun dans une branche distincte de mon propre dépôt, et ai déposé un problème et extrait la demande pour chacun d'eux séparément.
C'était il y a un peu plus d'un mois et les demandes de tirage sont restées intactes depuis. L'utilisateur dont j'avais proposé le repo ne semble pas très actif, il n'a effectué que 7 contributions sur GitHub au cours de la dernière année et ce repo n'a pas eu d'engagement depuis la première demande d'extraction que j'ai faite.
Donc ma question:
Comment procède-t-on dans cette situation? Idéalement, je voudrais éviter de créer une fragmentation de la bibliothèque en procédant de nombreuses modifications dans mon propre référentiel qui ne sont pas fusionnées dans le référentiel parent. Néanmoins, je voudrais continuer à faire des corrections de bugs et à ajouter des fonctionnalités, mais si je fusionne tout dans ma branche principale et base tous les nouveaux correctifs à partir de cette branche, alors si le mainteneur du repo que j'ai créé revient toujours, j'ai gagné Vous ne pouvez pas scinder toutes les modifications en demandes d'extraction distinctes pour chaque fonctionnalité / correction de bogue (j'ai lu que les demandes d'extraction devraient généralement correspondre à une demande d'extraction par fonctionnalité ou correction de bogue).
Devrais-je conserver une branche qui est en phase avec le référentiel d'origine, baser toutes mes nouvelles branches sur celle-ci, puis conserver tous les commits fusionnés dans ma branche principale? Il semble que cela me laisserait une tonne de branches et une tâche de plus en plus lourde à chaque fois que je devrais fusionner de nouvelles modifications dans ma branche principale.
Quelle est la manière typique d’aborder une telle situation? Il semble assez courant qu'un projet soit abandonné sans l'aide des contributeurs d'origine pour examiner les nouvelles demandes d'attraction. Est-ce une situation où quelqu'un devrait simplement prendre la barre et courir avec elle? Il semble que cela créerait une fragmentation si les contributeurs d'origine revenaient jamais et voulaient travailler à nouveau sur le projet.