Probiere doch erstmal 3)

Uwe

Von meinem iPad gesendet

> Am 26.04.2020 um 01:16 schrieb Harald Weidner <[email protected]>:
> 
> Hallo,
> 
> in der TroLUG arbeiten ja viele mit Git und Github, es gab ja auch schon
> mehrere Vorträge dazu.
> 
> Mich würden mal eure Meinungen zum Umgang mit Pull Requests interessieren.
> 
> Was würdet ihr machen, wenn ihr zu einem von euch auf Github eingestellten
> Projekt ohne vorherige Ankündung von einem bisher unbekannten User einen Pull
> Request bekommt? Der Request führt mehrere thematisch unterschiedliche 
> Änderungen
> ein. Einen Teil davon möchte ich definitiv nicht übernehmen. Bei einem anderen
> sehe ich prinzipiell die Notwendigkeit einer Änderung, aber es gibt mehrere
> denkbare Optionen und ich bin noch unschlüssig. Der vom Sourcecode-Umfang her
> größte Teil ist durchaus in Ordnung, müsste allerdings noch ein bisschen
> überarbeitet werden, außerdem wurde bei der Dokumentation geschlampt. Der Pull
> Request besteht aus einem einzelnen Commit mit allen Änderungen, ein 
> Cherry-Picking
> im Git-Sinne ist nicht möglich.
> 
> Einerseits freue ich mich ja, dass andere mit meinen Tools arbeiten und sich
> an der Weiterentwicklung beteiligen wollen, und möche den Interessenten
> nicht vergraulen. Andererseits möchte ich gewisse Mindesstandards
> durchsetzen, immerhin erscheint das Projekt unter meinem Namen.
> 
> Ich sehe nun drei Möglichkeiten:
> 
> (1) Den Pull Request annehmen (in einem eigenen Branch), ihn nach meinen
> Vorstellungen überarbeiten (und dabei Teile der neu eingeführten 
> Funktionalität
> wieder entfernen) und dann nach master mergen.
> 
> Das hat den Vorteil, dass die eine Hauptänderung unter dem Namen des Autors
> in der Commit History erscheint, aber trotzdem keine unerwünschten
> Änderungen in master Branch landen. Nachteile sind aber, dass ich eigentlich
> einen Teil der Änderungen auch in einem Seitenbranch nicht sehen möchte,
> schließlich kann jeder den später pullen (warum auch immer). Außerdem soll
> es nicht den Eindruck erwecken, dass jeder alles abkippen kann und ich
> hinter ihm aufräume.
> 
> (2) Den Pull Request ablehnen und die eine erwünschte Änderung selber (ggf.
> per Copy-Paste aus dem Diff) durchführen.
> 
> Somit erscheint nur diese Änderung in der Commit History und die Dokumentation
> wird sauber mitgeführt. Allerdings erscheint dieser Commit unter meinem
> Namen, die Urheberschaft des Einreichers ist an der History nicht erkennbar
> und Github führt ihn in den "Insights" weiterhin nicht als Beitragenden.
> 
> (3) Verhandeln mit dem Autor, bis er den Pull Request soweit anpasst, dass er
> meinen Vorstellungen entspricht.
> 
> Das hat den Vorteil, dass dann sein Name zu seinem Code in der History 
> erscheint.
> Allerdings könnte er zwischendrin die Lust verlieren, insbesondere wenn sich
> die Verhandlung über mehrere Iterationen hinzieht oder das Resultat sich zu 
> weit
> von seinem ursprünglichen Beitrag entfernt. Erschwerend kommt hinzu, dass ich 
> mir
> an der einen Stelle selber noch unsicher bin, welches die beste Lösung ist.
> 
> Was meint ihr?
> 
> Gruß, Harald
> 

Antwort per Email an