Überprüfung von Pull Requests#

Verwendung von Workflow-Funktionen#

Bitte verwenden Sie bei der Überprüfung von Pull Requests die entsprechenden Workflow-Tracking-Funktionen auf GitHub.

  1. Nachdem Sie mit der Überprüfung fertig sind und den Einreicher bitten möchten, die Änderungen vorzunehmen

    • Ändern Sie Ihren Überprüfungsstatus zu „Änderungen angefordert“.

      Dies kann auf GitHub auf der PR-Seite unter dem Tab „Geänderte Dateien“ erfolgen, indem Sie auf die Schaltfläche „Änderungen überprüfen“ (oben rechts) klicken.

    • Alternativ: Fügen Sie das Label needs-work hinzu.

      Dies kann auf der PR-Seite im Menü „Labels“ auf der rechten Seite erfolgen.

  2. Wenn Sie denselben Pull Request erneut überprüfen und weitere Änderungen anfordern möchten

    • Führen Sie erneut die Aktion „Änderungen angefordert“ durch, auch wenn der vorherige Status ebenfalls „Änderungen angefordert“ war.

    • Alternativ: Entfernen Sie das vorhandene Label needs-work und fügen Sie es dann erneut hinzu. (GitHub wird auf der Seite eine Benachrichtigung anzeigen, dass Sie dies getan haben.)

  3. Wenn Sie mit dem aktuellen Status zufrieden sind

    • Markieren Sie den Pull Request als „Genehmigt“ (auf die gleiche Weise wie „Änderungen angefordert“).

    • Alternativ: Entfernen Sie das Label needs-work.

    • Alternativ (für Kernentwickler): Mergen Sie den Pull Request, wenn Sie der Meinung sind, dass er bereit zum Mergen ist.

Dies ermöglicht eine automatische Verfolgung, welche PRs Aufmerksamkeit benötigen.

Einige der Informationen sind auch direkt auf GitHub sichtbar, obwohl (Stand August 2019) GitHub nicht anzeigt, welche Pull Requests seit der letzten Überprüfung aktualisiert wurden.

Code aus Pull Request#

Wenn Sie einen von jemand anderem erstellten Pull Request überprüfen, ist es hilfreich, eine Kopie des Codes auf Ihrem eigenen Rechner zu haben, um damit lokal arbeiten zu können.

Eine Möglichkeit ist, die GitHub CLI zu installieren, dann zum SciPy-Stammverzeichnis im Terminal zu navigieren und Folgendes einzugeben:

gh pr checkout PULL_REQUEST_ID

wobei PULL_REQUEST_ID die fünfstellige Nummer ist, die dem Pull Request entspricht (z. B. 10286 für PR #10286). Dies checked den Pull Request sofort in einen Branch aus, dessen Name dem des PR-Autors entspricht.

Angenommen, Sie haben Ihre Entwicklungsumgebung gemäß Building from source eingerichtet, können Sie nun Ihre Entwicklungsumgebung aktivieren,

conda activate scipy-dev

den Code erstellen und testen

python dev.py test -v

und wenn Sie SciPy von IPython aus importieren (starten Sie es mit python dev.py ipython), importieren Sie die modifizierte Version von SciPy des Autors.

Wenn Sie mit dem Autor an seinem PR zusammenarbeiten möchten, möchten Sie vielleicht stattdessen eine neue Remote zu dem Fork des Autors von SciPy einrichten

git remote add REMOTE_NAME https://github.com/AUTHOR/scipy.git

wobei AUTHOR der GitHub-Benutzername des Autors ist und REMOTE_NAME der Name ist, den Sie für das Repository dieses Autors verwenden möchten.

Von dort aus können Sie die Branches des Autors anzeigen

git remote show REMOTE_NAME

und Ihren eigenen Branch basierend auf einem davon erstellen

git checkout --track REMOTE_NAME/BRANCH_NAME

wobei BRANCH_NAME der Name des Branches ist, von dem Sie starten möchten. Dies erstellt eine Kopie dieses Branches (mit demselben Namen) in Ihrem lokalen Repository. Wenn Sie Änderungen an diesem Branch vornehmen und in Ihr GitHub-Repository ( origin ) pushen, können Sie dann einen Pull Request erstellen, um Ihre Änderungen mit dem Repository des Autors zu mergen.