Que faire des problèmes abandonnés dans GitHub?


48

Si quelqu'un pose un problème sur GitHub mais que plus d'informations pour reproduire l'erreur sont demandées et jamais données, quelle est la procédure normale? Exemple .

Ici, l'auteur déclare que le "nav brise". Bien que je pense que le problème est résolu, je voudrais que l’auteur nous informe que nous parlons de la même chose. Mais parfois, le journaliste du problème disparaît tout simplement. Est-ce une bonne pratique courante de fixer une date d'expiration pour les problèmes abandonnés?

Quelque chose comme ces conditions:

  • Une question est posée sur la question pour pouvoir la déboguer.
  • Plus de 2 à 6 mois se sont écoulés depuis la dernière question / commentaire sans réponse de l’équipe de développement.
  • Bug ne peut pas être reproduit au moment de sa fermeture (pour une raison quelconque, peut-être qu’ils ne pourraient jamais être reproduits).
  • Un avertissement est émis 2 semaines avant la fermeture.

Que font normalement les projets? Je n'ai rien trouvé sur Google. Aussi, comment pourrais-je documenter ceci? Une simple note dans le fichier README.md détaillant les points ci-dessus et un commentaire dans le numéro expliquant pourquoi cette fermeture est-elle suffisante?

Remarque: c'est différent de cette question car le bogue peut toujours être pertinent (ou non), mais il manque d'informations.


3
Je crois que vous devriez documenter quelque part que vous pensez que le problème est résolu (mais peut-être pas dans le README.md). Cependant, votre question pourrait être une question d'opinion.
Basile Starynkevitch,

17
Si l'auteur d'un problème ne peut pas être contacté pour avoir la confirmation qu'il est corrigé, je clore simplement le problème en indiquant que le correctif n'a pas été vérifié par l'auteur d'origine, après avoir activement essayé de le contacter pour environ un mois. Mais ce n'est que mon opinion.
Bart van Ingen Schenau

1
@BasileStarynkevitch désolé, je voulais documenter dans le fichier README.md cette procédure. À propos de la clôture du problème, je le documenterais dans le numéro même.
Francisco Presencia


7
Non, un bogue qui n'est plus pertinent n'est pas identique à un bogue pour lequel un correctif existe, mais le journaliste ne répond pas.
départ

Réponses:


49

Ceci est un dilemme: vous ne pouvez pas clôturer le problème comme "résolu", car vous ne savez pas réellement s'il a été corrigé, ou du moins même si un problème a été corrigé, vous ne savez pas réellement si c'est le problème du journaliste. parlait de. D'autre part, vous ne souhaitez pas laisser un problème qui aurait pu être résolu ouvert, en particulier si vous ne parvenez jamais à le fermer car vous ne recevrez jamais de confirmation.

Donc, vous devriez le fermer, mais probablement pas comme "corrigé". Vous pouvez inventer un motif de fermeture personnalisé "peut-être corrigé" ou "non confirmé" si vous voulez être positif ou "reportervé" si vous ne le faites pas. Vous pouvez également simplement dire «ne peut pas reproduire» et attendre que le même bogue apparaisse pour un journaliste plus réactif.

Cependant, vous ne devriez pas dépenser de ressources sur un bogue pour lequel vous ne saurez jamais s'il a été corrigé ou non.


1
Maintenant que je le vérifie, il est même indiqué "utilisateur supprimé" dans le profil de l'utilisateur ... donc je suppose que le fantôme ne répondra pas. Merci pour la réponse, je vais terminer avec une balise personnalisée.
Francisco Presencia

34
Unreproductible semble correspondre. Pouvez-vous reproduire le problème à partir des détails du ticket? Non? Non reproductible.
ABMagil

1
Dans Wine bugzilla, il existe un statut spécial ABANDONED: examples .
Ruslan

"Invalide" est un autre bon état générique. Dans GitHub, cela pourrait être ajouté en tant qu'étiquette et le problème serait résolu par la suite.
Caterpillar

2
Fermez-le en tant que "AbandonedByOpener" ou "RequiredInformationMissing". C'est exactement ce qui s'est passé. Et tout le monde peut voir clairement pourquoi vous ne vous êtes pas attaqué au problème.
usr

12

Vous avez déjà répondu à votre question principale, mais vous avez également posé des questions sur la documentation du processus, ce qui nécessite également une réponse.

La solution que j'ai vue dans de nombreux projets ne consiste pas à l'insérer dans le fichier README.md du projet, mais dans une contribution spéciale README - un fichier README pour les contributeurs. Ce fichier décrit tout ce que vous voulez que les personnes qui contribuent à votre projet sachent, qu’il s’agisse du code (conventions de nommage, organisation du module, etc.) ou du processus (comment écrire des validations, comment gérer des tickets, etc.). Ce fichier peut être un autre .MDfichier du projet ou placé dans un référentiel totalement différent (afin de pouvoir être partagé entre tous vos projets). N'oubliez pas de vous y connecter depuis le principal README.md!

La distinction entre ces informations et le fichier README principal est que, habituellement, seule une fraction de l'utilisateur du projet y contribue directement. La plupart des utilisateurs n'ont pas besoin de s'ennuyer avec ces informations - ils ont juste besoin de savoir ce que fait votre projet et comment l'utiliser, et c'est ce que devrait contenir le fichier README principal. Dans le cas de votre projet, la section des contributions est très petite et n'encombre donc pas le fichier README principal. Toutefois, si vous documentez tous les flux de travail que vous souhaitez que les contributeurs suivent, ils ne s'y intégreront plus aussi bien ...

Notez que n'importe quel utilisateur peut ouvrir un bogue, donc si vous avez des exigences particulières concernant l'ouverture des bogues, vous devriez les mettre dans le README principal (essayez de le garder court. Contrairement aux contributeurs de code, les rapporteurs de bogues seront probablement moins enclins à aller trop loin. étudier et se conformer à vos règles). Cependant, la personne qui corrige le bogue et ferme le ticket (que ce soit vous-même ou l’un des contributeurs que vous avez confirmés) contribue directement et peut s’attendre à lire le fichier README de contribution - le processus de fermeture des tickets lorsque le journaliste le fait. ne pas répondre devrait être décrit ici.


12
Sur Github, on pourrait utiliser spécifiquement un CONTRIBUTING.mddocument. Ce document est traité spécialement par Github, à savoir qu’il est lié à partir du haut de la page du numéro ouvert, de sorte qu’il est au centre des préoccupations des journalistes. Voir: help.github.com/articles/…
cbojar

7

J'ai lu ceci comme une question sur les pratiques concernant la gestion d'un bogue non vérifié (en utilisant le suivi des problèmes de github) plutôt qu'autre chose.

Pour moi, c’est une réponse plutôt simple, basée sur d’autres outils de suivi que j’ai utilisés. Github n'oblige personne à utiliser aucun workflow, ce qui le rend très flexible ... et plutôt inutile dans sa configuration par défaut.

En regardant le flux de travail par défaut de Bugzilla, nous obtenons:

entrez la description de l'image ici

Je vais montrer là une chose très importante - il se résolu que fixe avant qu'il ne soit fermé après avoir été vérifié . Le flux de travail Github de base n’affiche que les états rouge (ouvert) et vert (fermé).

Ainsi, une approche consiste à utiliser les étiquettes dans Github ( les étiquettes de votre application ) pour essayer d'afficher les informations supplémentaires. Vous pouvez créer une paire d'étiquettes «non vérifiées» et «vérifiées» à appliquer une fois le problème résolu. Notez qu'il ne s'agit que d'une approche. Si vous effectuez une recherche, vous pouvez trouver des dizaines d'approches différentes pour l'utilisation des étiquettes. Ici, la question Comment gérer les problèmes de github pour (priorité, etc.)? adresse ceci.

Vous l'avez corrigé, du point de vue du développeur, c'est fait. Fermez le numéro sur Github. Appliquez-y l'étiquette «non vérifié». Une fois que quelqu'un de familier avec le bogue de la version précédente a répondu "oui, cela l'a corrigé", vous pouvez changer le libellé en "vérifié". S'ils disent le contraire, vous le rouvrez.

Notez également qu'il existe d' autres états résolus en plus de «fixé». Il y a 'wontfix' (le correctif est quelque chose qui ne peut pas être fait avec la structure actuelle) et 'worksforme' (le bogue ne peut pas être reproduit) et 'invalid' (vous écrivez un bogue sur le système d'exploitation, pas le type d'application choses).


3

Je choisirais l’un des deux points de vue, en fonction de la confiance dont je disposais pour parler de la même chose que le journaliste initial:

1) Puisque le journaliste n’est plus disponible, considérez que le bogue en question signifie tout ce que vous avez corrigé. Si cela vous aide, joignez des scénarios de test pour indiquer clairement les échecs détectés. Décrivez en détail dans le rapport de bogue ce que vous avez corrigé et laissez une note du type: "Je crois que c'est ce que" bris de navigation "signifie, veuillez rouvrir ou créer un nouveau bogue si ce n'est pas ce que vous vouliez dire". Marquez le bug comme corrigé.

2) Puisque le journaliste n'est plus disponible, considérez que le bogue ne peut pas être (réputé être) reproduit, car seul le mot du journaliste confirmerait que c'est le même rapport que celui-ci. Générez un nouveau bogue pour décrire la chose que vous avez corrigée; pour des raisons de crédit, indiquez qu'il a été observé dans les conditions décrites par le journaliste absent, indiquez à la fois qu'il peut s'agir de doublons, marquez le nouveau bogue corrigé et marquez celui-ci comme invalide ou non reproductible avec une note du type: "Je ne peux pas comprendre ce que vous entendiez par 'bris de navigation', mais j'ai résolu le problème que j'ai trouvé. Merci de rouvrir ou de soulever un nouveau bogue si la navigation se brise toujours, en décrivant plus de détail ce qui ne va pas ".

En ce qui concerne les délais, je pense que cela devrait dépendre du projet. Si vous êtes très réactif et que vous traitez ce bogue dans les jours qui suivent son apparition, les gens doivent comprendre qu'il ne faudra pas attendre des semaines pour obtenir une réponse avant de résoudre le problème. D'un autre côté, si votre mot de passe est enregistré depuis des mois, il peut rester ouvert pendant un mois ou deux sans vous causer de problèmes.

Pour cette raison, je ne pense pas qu'il existe une limite de temps particulière qui constitue une "bonne pratique" ou que vous ayez besoin de publier votre politique et de vous y tenir. Vous ne voudrez certainement pas enregistrer que le journaliste ne peut pas être contacté tant que vous n'avez pas essayé de le contacter. Mais je ne vois pas non plus de raison de laisser plusieurs avertissements compter jusqu'à la fin: ils reverront le bogue et veulent dire quelque chose, ou ils ne le feront pas.

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.