Angewiesen sind pull requests bei Github möglich?
Derzeit arbeite ich an einem wirklich großen pull-request. In Ordnung zu halten code-reviews irgendwie überschaubar die Idee war split die komplette pull-request in isolierten teilen, die jedoch voneinander abhängig.
Ein Beispiel wäre:
- Pull-request 1: Erstellen Schnittstellen: Interface A & B und Umstrukturierung von code
- Pull-request 2: Interface-Implementierung und-Tests (abhängig vom pull-request1)
- Pull-request 3: Schnittstelle B-Implementierung und Tests (je nach pull-request2)
- Pull-request 4: Mixed test der Implementierungen (abhängig von der 2 + 3)
Gibt es eine Möglichkeit im Github-Datei alle vier Patches gleichzeitig mit Abhängigkeiten?
- Ich in der Regel nur die Referenz der Abhängigkeit, dann der PRs verknüpft werden, und die Prüfer wissen. Hinzufügen PR-1. Add PR 2 PR 1 Zweig als Basis, und erwähnen Sie "das hängt von #1". Und so weiter. Es gibt keine Notwendigkeit, Sie alle gleichzeitig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich sehen kann, das ist unmöglich, und es ist meiner Meinung nach einer der großen Nachteile von GitHub im Vergleich mit anderen code-review-tools. Gerrit automatisch abhängige code-reviews, wenn Sie drücken Sie verpflichtet, die voneinander abhängen, und in Phabricator es ist mehr ein Schmerz, aber immer noch möglich.
Es ist auch gut zu Bedenken, dass es mehrere Möglichkeiten, die Menschen benutzen, GitHub PRs. Die normalen open-source-collaboration-Möglichkeit ist die Gabel ein repo und legt eine Kreuz-repo-pull-Anforderung, aber in anderen Fällen (z.B. innerhalb einer Organisation), die Sie übermitteln, pull-Anforderungen für die diffs, die alle innerhalb des gleichen repository. Ich denke, innerhalb eines einzelnen Repositorys ist es angemessener, um etwas entlang der Linien von abhängigen pull-Anforderungen, da können Sie die commit/Zweig-Struktur, in der das repo.
Hier ist ein Blogbeitrag, der beschreibt, wie man einige Vorteile des abhängigen pull-requests, ich denke, das verlangt, dass alle commits, die in der gleichen repo:
http://graysonkoonce.com/stacked-pull-requests-keeping-github-diffs-small/
Zusammenfassung:
müssen Sie landen alle änderungen auf einmal, da GitHub keine Unterstützung für die Aktualisierung der target Filiale PRs. In dem Beispiel, alle 5 code-reviews wurden gelandet als single Begehen.GitHub unterstützt jetzt die Aktualisierung der base Filiale der PR, so dass die PRs kann gelandet werden, ein zu einer Zeit.Dieser Ansatz scheint zu funktionieren ok für die riesigen Veränderungen, die am besten bewertet in kleinere Stücke (obwohl die Aufrechterhaltung eines n-level-deep branch-Hierarchie ist ein Schmerz im Vergleich mit so etwas wie
git rebase -i
), aber es nicht wirklich erlauben für einen "code-review-pipeline", wo Sie haben, abhängig diffs in den verschiedenen Phasen der überprüfung und landen kann, früher, als Sie überprüft.Einige andere internet-Ressourcen, die scheinen auch rufen die Einschränkung:
https://www.quora.com/Is-there-a-good-system-for-adding-multiple-pull-requests-to-GitHub
https://muffinresearch.co.uk/how-do-you-deal-with-dependent-branches-on-github/
Mein Verständnis ist, dass Menschen mit GitHub PRs in der Regel nur versuchen zu strukturieren, Ihren workflow, um sich nicht allein auf die abhängige code-reviews. Einige Beispiele: