Was tun mit aufgegebenen Problemen in GitHub?


48

Wenn jemand ein Problem auf GitHub öffnet, aber weitere Informationen zum Reproduzieren des Fehlers abgefragt und nie angegeben werden, wie ist die normale Vorgehensweise? Beispiel .

Hier gibt der Autor an, dass das "Navi kaputt geht". Obwohl ich glaube, dass dies behoben ist, möchte ich, dass der Autor mir mitteilt, dass wir über dasselbe gesprochen haben. Aber manchmal verschwindet der Reporter des Problems einfach. Ist es eine gute / übliche Praxis, ein Ablaufdatum für aufgegebene Probleme festzulegen?

So etwas wie diese Bedingungen:

  • Zu diesem Thema wird eine Frage gestellt, um es debuggen zu können.
  • Seit der letzten unbeantworteten Frage / Anmerkung des Entwicklerteams sind mehr als 2-6 Monate vergangen.
  • Fehler kann zum Zeitpunkt des Schließens nicht reproduziert werden (aus irgendeinem Grund könnten sie möglicherweise nie reproduziert werden).
  • Eine Warnung wird 2 Wochen vor dem Schließen ausgegeben.

Was machen Projekte normalerweise? Bei Google konnte ich nichts finden. Wie würde ich das dokumentieren? Reicht eine einfache Notiz in der README.md, die die obigen Punkte ausführt, und ein Kommentar in der Ausgabe, der erklärt, warum sie geschlossen wird, aus?

Hinweis: Es unterscheidet sich von dieser Frage, da der Fehler möglicherweise immer noch relevant ist (oder nicht), es jedoch an Informationen mangelt.


3
Ich glaube, Sie sollten irgendwo dokumentieren, dass Sie glauben, dass das Problem behoben ist (aber vielleicht nicht in der README.md). Ihre Frage könnte jedoch eine Ansichtssache sein.
Basile Starynkevitch

17
Wenn der Absender eines Problems nicht erreicht werden kann, um zu bestätigen, dass es behoben ist, schließe ich das Problem einfach mit dem Hinweis, dass der Fix vom ursprünglichen Absender nicht überprüft wurde, nachdem er aktiv versucht hat, ihn / sie für etwa zu kontaktieren ein Monat. Das ist aber nur meine Meinung.
Bart van Ingen Schenau

1
@BasileStarynkevitch sorry, ich wollte in der README.md diesen Vorgang dokumentieren. Über das Schließen der Ausgabe würde ich es in der Ausgabe selbst dokumentieren.
Francisco Presencia


7
Nein, ein Fehler, der nicht mehr relevant ist, ist nicht dasselbe wie ein Fehler, für den ein Fix vorhanden ist, aber der Reporter antwortet nicht.
dcorking

Antworten:


49

Dies ist ein Dilemma: Sie können das Problem nicht als "behoben" schließen, da Sie nicht wirklich wissen, ob es behoben wurde, oder zumindest, wenn ein Problem behoben wurde, Sie nicht wirklich wissen, ob dies das Problem des Reporters war sprach über. Andererseits möchten Sie ein Problem, das möglicherweise behoben wurde, nicht offen lassen, insbesondere wenn Sie es nie schließen können, da Sie nie eine Bestätigung erhalten.

Also solltest du es schließen, aber wahrscheinlich nicht als "fest". Sie können einen benutzerdefinierten Schließungsgrund "maybefixed" oder "unconfirmedfix" erfinden, wenn Sie positiv sein möchten, oder "reportervanished", wenn Sie dies nicht möchten. Sie können auch einfach "nicht reproduzieren" sagen und warten, bis derselbe Fehler auf einen reaktionsfreudigeren Reporter auftritt.

Sie sollten jedoch keine Ressourcen für einen Fehler aufwenden, für den Sie nie wissen werden, ob er tatsächlich behoben wurde oder nicht.


1
Jetzt, wo ich es überprüfe, steht im Benutzerprofil sogar "Gelöschter Benutzer" ... also wird der Ghost vermutlich nicht antworten. Danke für die Antwort, ich werde mit einem benutzerdefinierten Tag schließen.
Francisco Presencia

34
Nicht reproduzierbar scheint zu passen. Können Sie das Problem anhand der Details im Ticket reproduzieren? Nein? Nicht reproduzierbar.
ABMagil,

1
In Wine Bugzilla gibt es einen besonderen Status ABANDONED: Beispiele .
Ruslan

"Ungültig" ist ein weiterer guter, allgemeiner Zustand. In GitHub kann dies als Label hinzugefügt und das Problem anschließend geschlossen werden.
Caterpillar

2
Schließen Sie es als "AbandonedByOpener" oder "RequiredInformationMissing". Genau das ist passiert. Und jeder kann klar erkennen, warum Sie das Problem nicht gelöst haben.
USR

12

Ihre Hauptfrage wurde bereits beantwortet, aber Sie haben auch nach der Dokumentation des Prozesses gefragt, und diese muss ebenfalls beantwortet werden.

Die Lösung, die ich in vielen Projekten gesehen habe, besteht nicht darin, sie in die README.md des Projekts einzufügen, sondern in einen speziellen Beitrag README - eine README-Datei für Mitwirkende. Diese Datei beschreibt alles, was die an Ihrem Projekt beteiligten Personen wissen sollen - sei es über den Code (Namenskonventionen, Modulorganisation usw.) oder über den Prozess (Schreiben von Commits, Umgang mit Tickets usw.). Diese Datei kann eine andere .MDDatei im Projekt sein oder sich in einem völlig anderen Repository befinden (sodass sie von allen Ihren Projekten gemeinsam genutzt werden kann). Vergiss nur nicht, vom Hauptmenü darauf zu verlinken README.md!

Um diese Informationen von der Haupt-README-Datei zu trennen, trägt in der Regel nur ein Bruchteil der Benutzer des Projekts direkt dazu bei. Die meisten Benutzer müssen sich nicht mit diesen Informationen langweilen - sie müssen nur wissen, was Ihr Projekt tut und wie es verwendet wird, und genau das sollte die README-Datei enthalten. Im Fall Ihres Projekts ist der Beitragsabschnitt sehr klein, so dass er die README-Datei nicht belastet. Wenn Sie jedoch alle Workflows dokumentieren, denen die Mitwirkenden folgen sollen, passt er nicht mehr so ​​gut dorthin ...

Beachten Sie, dass jeder Benutzer einen Fehler öffnen kann. Wenn Sie also besondere Anforderungen an das Öffnen von Fehlern haben, sollten Sie diese in die README-Datei aufnehmen (versuchen Sie jedoch, sie möglichst kurz zu halten - im Gegensatz zu Code-Autoren sind Bug-Reporter wahrscheinlich weniger gewillt, große Anstrengungen zu unternehmen zu studieren und sich an Ihre Regeln zu halten). Die Person, die den Fehler tatsächlich behebt und das Ticket schließt (sei es Sie oder einer der von Ihnen bestätigten Mitwirkenden), ist jedoch ein direkter Mitwirkender, und es kann erwartet werden, dass sie die README-Datei für den Beitrag liest - also den Vorgang, Tickets zu schließen, wenn der Reporter dies tut nicht antworten sollte dort beschrieben werden.


12
Auf Github könnte man gezielt ein CONTRIBUTING.mdDokument verwenden. Dieses Dokument wird von Github speziell behandelt, dh, es befindet sich oben auf der offenen Ausgabeseite und ist ein zentrales Thema für Problemmelder. Siehe: help.github.com/articles/…
cbojar

7

Ich habe dies eher als eine Frage zu den Vorgehensweisen im Umgang mit einem nicht überprüften Fehler (unter Verwendung von Githubs Issue Tracker) verstanden als als irgendetwas anderes.

Für mich ist das eine ziemlich einfache Antwort, die auf anderen Issue-Trackern basiert, die ich verwendet habe. Github zwingt niemanden, einen Workflow zu verwenden, und dies macht ihn sehr flexibel und in seiner Standardkonfiguration eher nutzlos.

Wenn wir uns den Standard-Workflow von Bugzilla ansehen, erhalten wir:

Bildbeschreibung hier eingeben

Ich werde dort auf eine sehr wichtige Sache hinweisen - sie wird als behoben aufgelöst, bevor sie nach der Überprüfung geschlossen wird . Der grundlegende Github-Workflow zeigt nur die Zustände Rot (offen) und Grün (geschlossen) an.

Daher besteht ein Ansatz darin, die Beschriftungen in Github ( die Beschriftungen Ihrer Anwendung ) zu verwenden, um zu versuchen, die zusätzlichen Informationen anzuzeigen. Sie können ein Paar Labels erstellen, die "nicht bestätigt" und "bestätigt" sind und angewendet werden, sobald Sie das Problem schließen. Beachten Sie, dass dies nur ein Ansatz ist. Wenn Sie suchen, können Sie Dutzende verschiedener Ansätze für die Verwendung von Etiketten finden. Hier die Frage, wie Github-Probleme verwaltet werden sollen (Priorität usw.). adressiert dies.

Sie haben es behoben, vom Standpunkt eines Entwicklers aus ist es erledigt. Schließen Sie das Problem bei Github. Wenden Sie das Label "unbestätigt" an. Wenn jemand, der mit dem Fehler in der vorherigen Version vertraut war, mit "Ja, dies hat ihn behoben" geantwortet hat, können Sie die Bezeichnung in "Verifiziert" ändern. Wenn sie es nicht sagen, öffnen Sie es erneut.

Beachten Sie auch, dass es neben 'fixed' noch andere gelöste Zustände gibt . Es gibt 'wontfix' (das Update kann mit der aktuellen Struktur einfach nicht durchgeführt werden) und 'worksforme' (der Fehler kann nicht reproduziert werden) und 'invalid' (Sie melden einen Fehler bezüglich des Betriebssystems, nicht die Art der Anwendung Dinge).


3

Ich würde eine von zwei Ansichten vertreten, je nachdem, wie sicher ich war, dass ich über dasselbe sprach wie der ursprüngliche Reporter:

1) Da der Reporter nicht mehr verfügbar ist, bedeutet der betreffende Fehler, was auch immer Sie behoben haben. Wenn es hilft, fügen Sie Testfälle hinzu, um zu verdeutlichen, welche Fehler Sie gefunden haben. Beschreiben Sie im Fehlerbericht ausführlich, was Sie behoben haben, und hinterlassen Sie eine Notiz mit der Überschrift "Ich glaube, das ist, was" Navigationsfehler "bedeuten. Öffnen Sie einen neuen Fehler oder melden Sie ihn erneut, wenn Sie dies nicht gemeint haben." Markieren Sie den Fehler als behoben.

2) Da der Reporter nicht mehr verfügbar ist, kann der Fehler vermutlich nicht reproduziert werden, da nur das Wort des Reporters bestätigt, dass es dasselbe ist, das er gemeldet hat. Lösen Sie einen neuen Fehler aus, um das Problem zu beschreiben, das Sie behoben haben, und erwähnen Sie, dass es unter den vom abwesenden Reporter beschriebenen Bedingungen beobachtet wurde. Beachten Sie dabei, dass es sich möglicherweise um Duplikate handelt nicht reproduzierbar mit einer Notiz wie "Ich kann nicht herausfinden, was Sie mit" Nav-Pausen "gemeint haben, aber ich habe das Problem gelöst, das ich gefunden habe genauer was schief geht ".

Was die Zeitskala betrifft, denke ich, sollte es vom Projekt abhängen. Wenn Sie sehr reaktionsschnell sind und diesen Fehler innerhalb weniger Tage nach seiner Entstehung beheben, sollten die Leute verstehen, dass Sie nicht wochenlang auf eine Antwort warten müssen, bevor Sie das Problem beheben. Auf der anderen Seite, wenn es seit Monaten auf Ihrem Slushpile ist, kann es noch ein oder zwei Monate offen stehen, ohne dass Sie irgendwelche Probleme haben.

Aus diesem Grund glaube ich nicht, dass es eine bestimmte Frist gibt, die eine "gute Praxis" darstellt, oder dass Sie Ihre Richtlinie veröffentlichen und sich daran halten müssen. Sicherlich möchten Sie nicht aufzeichnen, dass der Reporter erst kontaktiert werden kann, wenn Sie sich bemüht haben, Kontakt mit ihm aufzunehmen. Aber ich sehe auch keinen Grund, mehrere Warnungen bis zu einer bestimmten Frist laufen zu lassen: Entweder werden sie den Fehler erneut untersuchen und etwas sagen wollen, oder sie werden es nicht tun.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.