审核拉取请求#

使用工作流功能#

在审查拉取请求时,请根据需要在Github上使用工作流程跟踪功能:

  1. 在您完成审查并希望要求提交者进行更改之后:

    • 将您的审核状态更改为“请求更改”。

      这可以在Github上完成,PR页面,Files changed 标签,``Review changes``(右上角的按钮)。

    • 或者:添加 needs-work 标签。

      这可以在 PR 页面,右侧的 标签 菜单中完成。

  2. 当你再次审查同一个拉取请求,并希望请求更多更改时:

    • 即使之前的审核状态也是“需要修改”,也请再次执行“修改请求”的操作。

    • 或者:移除现有的 needs-work 标签,然后重新添加该标签。(Github 会在页面上添加一个通知,说明你这样做了。)

  3. 如果你对当前状态感到满意:

    • 将拉取请求标记为已批准(方式与请求更改相同)。

    • 或者:移除 needs-work 标签。

    • 或者(对于核心开发者):如果认为拉取请求已准备好合并,则合并该请求。

这允许自动跟踪哪些PR需要关注。

一些信息也可以直接在Github上看到,尽管(截至2019年8月)Github不会显示自上次审查以来哪些拉取请求已被更新。

来自拉取请求的代码#

当你审查别人创建的拉取请求时,在自己的机器上有一份他们的代码副本会很有帮助,这样你就可以在本地进行操作。

一种安装 GitHub CLI 的方法是,然后在终端中导航到 SciPy 根目录并输入:

gh pr checkout PULL_REQUEST_ID

其中 PULL_REQUEST_ID 是与拉取请求对应的五位数字(例如,对于 PR #10286,其值为 10286)。这会立即将拉取请求检出到一个与PR作者使用的名称相匹配的分支中。

假设你按照 从源代码构建 设置了你的开发环境,你现在可以激活你的开发环境:

conda activate scipy-dev

构建代码并测试它:

python dev.py test -v

如果你在 IPython 中 import SciPy(通过 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),你就可以创建一个拉取请求,将你的更改与作者的仓库合并。