Проверка Pull Requests#

Использование функций рабочего процесса#

При проверке запросов на включение изменений, пожалуйста, используйте функции отслеживания рабочего процесса на GitHub, где это уместно:

  1. После завершения проверки и желания попросить автора внести изменения:

    • Измените статус вашего обзора на «Требуются изменения».

      Это можно сделать на Github, на странице PR, Files changed таб, Review changes (кнопка вверху справа).

    • Альтернативно: добавьте needs-work метка.

      Это можно сделать на странице PR, Labels меню справа.

  2. Когда вы повторно просматриваете тот же запрос на включение изменений и хотите запросить дополнительные изменения:

    • Снова выполните "Запрошенные изменения", даже если предыдущий статус также был 'Запрошенные изменения'.

    • Альтернативно: Удалите существующий needs-work метку, а затем снова добавить метку обратно. (GitHub добавит уведомление на странице о том, что вы это сделали.)

  3. Если вас устраивает текущий статус:

    • Отметить pull request как Approved (так же, как Changes requested).

    • Альтернативно: удалить needs-work метка.

    • Альтернативно (для основных разработчиков): смержить pull request, если вы считаете, что он готов к слиянию.

Это позволяет автоматически отслеживать, какие PR требуют внимания.

Часть информации также видна непосредственно на Github, хотя (по состоянию на август 2019) Github не показывает, какие pull request'ы были обновлены с момента последнего ревью.

Код из pull request#

Когда вы рецензируете pull request, созданный кем-то другим, полезно иметь копию их кода на вашем собственном компьютере, чтобы вы могли работать с ним локально.

Один из способов установки GitHub CLI, затем перейдите в корневую директорию SciPy в терминале и введите:

gh pr checkout PULL_REQUEST_ID

где PULL_REQUEST_ID — это пятизначный номер, соответствующий pull request (например, 10286 для PR #10286). Это немедленно извлекает pull request в ветку с именем, соответствующим тому, которое использовал автор PR.

Предполагая, что вы настроили среду разработки в соответствии с Сборка из исходного кода, теперь вы можете активировать свою среду разработки:

conda activate scipy-dev

собрать код и протестировать его:

python dev.py test -v

и если вы import SciPy изнутри IPython (запустите его с python dev.py ipython), вы будете импортировать модифицированную версию SciPy автора.

Если вы хотите сотрудничать с автором в его PR, вы можете вместо этого настроить новый удалённый репозиторий для форка SciPy автора:

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

где AUTHOR это имя пользователя автора на GitHub и REMOTE_NAME это любое имя, которое вы хотите использовать для ссылки на репозиторий этого автора.

Оттуда вы можете просмотреть ветки автора:

git remote show REMOTE_NAME

и создать свою ветку на основе одной из них:

git checkout --track REMOTE_NAME/BRANCH_NAME

где BRANCH_NAME — это имя ветки, с которой вы хотите начать. Это создаёт копию этой ветки (с тем же именем) в вашем локальном репозитории. Если вы внесёте изменения в эту ветку и отправите их в свой репозиторий GitHub (origin), затем вы можете создать pull request для объединения ваших изменений с репозиторием автора.