Warum akzeptieren einige Open Source-Projekte keine Pull-Anfragen, sondern senden nur Patch-Dateien per E-Mail

16

Warum akzeptieren einige Open Source-Projekte keine Pull-Anfragen, sondern verlangen von den Mitwirkenden, dass sie nur Patch-Dateien per E-Mail versenden? zB Git Obwohl sie Code in Github oder einem anderen verteilten SCM-Hosting veröffentlichen. Das Senden von Patch-Dateien ist weder interaktiv noch bequem. Patch-Datei ist ein altmodischer Weg. Pull-Anforderungen sind interaktiv. Andere Leute können auch diskutieren.

linquize
quelle
1
Wenn Sie nachsehen, was "Pull-Request" ist (nie verwendetes Git und nicht für alle SCMs gleich), scheinen Sie zu sagen: "Hey, ich habe hier eine Änderung für mich!" Andere können es dann von Ihnen nehmen, wenn sie es wünschen und überprüfen. Funktioniert das, wenn Sie offline gehen? Wenn nicht, wäre das ein guter Grund, Patch-E-Mails zu bevorzugen.
Edward Strange
1
@CrazyEddie: github sendet (oder kann) eine E-Mail an Projektbetreuer senden, wenn eine Pull-Anfrage gesendet wird. Diese E-Mail enthält die Beschreibung der Abrufanforderung sowie eine Liste der Festschreibungen und geänderten Dateien. Natürlich müssen Sie online sein, um diese E-Mail zu erhalten und die Commits zu erhalten, aber das gilt auch für Patch-E-Mails.
John Bartholomew
Patchdateien werden universell unterstützt. Pull-Anforderungen sind herstellerspezifisch. Warum sollten Betreuer sie akzeptieren?
Anonym

Antworten:

17

Es kann davon abhängen, wer für die Annahme Ihrer Pull-Anfrage zuständig ist.

Wenn es Linus Torvalds ist , ist ein guter alter Patch vorzuziehen :

Ich mache keine Github Pull-Anfragen.

github wirft alle relevanten Informationen weg, zum Beispiel eine gültige E-Mail-Adresse für die Person, die mich zum Ziehen auffordert .
Der Diffstat ist auch mangelhaft und unbrauchbar.

Git kommt mit einem netten Pull-Request-Generierungsmodul, aber Github entschied sich stattdessen dafür, es durch eine eigene, völlig minderwertige Version zu ersetzen.
Infolgedessen halte ich Github für nutzlos für diese Art von Dingen.

Es ist in Ordnung für das Hosting , aber die Pull-Anfragen und die Online-Commit-Bearbeitung sind nur Müll.
Ich habe Github-Leuten von meinen Sorgen erzählt, sie dachten nicht, dass sie wichtig sind, also gab ich auf. Fühlen Sie sich frei, einen Bugreport für Github zu erstellen.

Er führt aus:

Damit für mich aus dem Github ziehen kann, musst du:

  • (a) Machen Sie eine echte Pull-Anfrage, nicht den Braindamaged Crap, den Github macht, wenn Sie ihn bitten, eine Pull-Anfrage zu stellen:
    • echte Erklärung ,
    • richtige E-Mail-Adressen ,
    • richtiger Shortlog und
    • richtige diffstat .
  • (b) Da Github-Identitäten zufällig sind, erwarte ich, dass die Pull-Anforderung ein signiertes Tag ist , damit ich die Identität der betreffenden Person überprüfen kann.

Ich lehne es auch ab, Commits abzurufen, die mit dem Github-Webinterface gemacht wurden.
Der Grund dafür ist wiederum, dass die Funktionsweise des Github-Webinterfaces bei diesen Commits ausnahmslos reine Scheiße ist.
Auf github durchgeführte Commits haben ausnahmslos völlig unlesbare Beschreibungen, da die Github-Commit-Funktion keine der einfachsten Funktionen ausführt, die die Kernel- Benutzer von einer Commit-Nachricht erwarten:

  • keine "kurze einzeilige Beschreibung in der ersten Zeile"
  • Kein sinnvoller Zeilenumbruch in der langen Beschreibung, die Sie eingeben: Bei Github-Commit-Nachrichten handelt es sich in der Regel (wenn sie überhaupt eine Beschreibung haben) um eine lange, unlesbare Zeile.
  • Keine Abmeldungen usw., die wir für Kernelübermittlungen benötigen.

github könnte es einfach machen, gute Commit-Nachrichten zu schreiben und den richtigen "Oneliner für Shortlogs und gitkvollständige Erklärungen für vollständige Logs" zu erzwingen .
Aber Github nicht.
Stattdessen ist die Github-Oberfläche "Festschreiben im Web" ein einziges schreckliches Texteingabefeld, in dem es absolut keinen vernünftigen Weg gibt, eine gut aussehende Nachricht zu schreiben.

Bei Aufforderung im Textbereich für Commit-Nachrichten:

@torvalds Die GitHub-Commit-Benutzeroberfläche bietet einen Textbereich für Commit-Nachrichten.
Dies unterstützt neue Zeilen und macht es einfach, gut formatierte Commit-Nachrichten zu erstellen :)

Nein, tut es nicht.
Was es unterstützt, ist das Schreiben langer Zeilen, von denen Sie keine Ahnung haben, wie lange sie sind.
Der Textbereich führt keine Zeilenumbrüche für Sie aus, und Sie können nicht beurteilen, wohin die Zeilenumbrüche führen würden.

Mit anderen Worten, es ist sehr schwierig, "gut formatierte Commit-Nachrichten" zu erstellen.
Es erzwingt auch nicht das triviale "Oneliner for Shortlog" -Modell
, so dass die Commit-Nachrichten in Shortlogs und in Gitk oft wie totaler Mist aussehen.

Also sollte die Github-Commit-UI haben

  • Separates "Shortlog" -Einzeiler-Textfenster, damit die Leute das nicht vermasseln können.
  • eine Möglichkeit, einen normalen Zeilenumbruch bei der Standardmarkierung von 72 Spalten durchzuführen.
  • Erinnerungen an Abmeldungen usw., die einige Projekte aus projektspezifischen oder sogar rechtlichen Gründen benötigen.
VonC
quelle
5
oder die Kurzversion; Wer das Projekt besitzt, kann es nach Belieben ausführen. Wenn sie darauf bestehen, dass Änderungen per Post auf Papier vorliegen, müssen Sie sie auf diese Weise einreichen (so spät das auch sein mag).
Ken Henderson
3
Wenn der Commit die Anforderungen des Projektbesitzers nicht erfüllt, kann er den Commit nach Belieben auswählen und dann ändern. Es ist wichtig, die Beiträge anderer Entwickler zu schätzen. Es ist schade, wenn der Projektinhaber die Beiträge nur wegen Nichterfüllung des Commit-Formats ablehnt.
1.
1
@linquize Bei Open Source-Projekten fehlt es in der Regel an Personal. Dadurch könnte Zeit gespart werden.
schwacher
1
"Schreiben Sie lange Zeilen, von denen Sie keine Ahnung haben, wie lange sie sind." Nun, das scheint schon gelöst zu sein, jetzt warnt es Sie ganz deutlich vor einer zu langen ersten Zeile und verfügt über zwei separate Textfelder für kurze und detaillierte Nachrichten.
Heltonbiker
1
Linus beschwert sich über die Github-Implementierung, aber das bedeutet nicht, dass Pull-Anfragen im Allgemeinen schlecht sind. In der Tat ist es wirklich neu gestartet, Mail-Patch-Dateien zu senden, anstatt ein nettes interaktives Webinterface zu verwenden, das direkt mit Git funktioniert, anstatt Dateien zu importieren / exportieren
Mike76