审查 Pull Request#

使用工作流功能#

在审查 Pull Request 时,请根据需要使用 Github 上的工作流跟踪功能

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

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

      这可以在 Github 的 PR 页面、`Files changed` 选项卡、`Review changes` (右上角的按钮) 上完成。

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

      这可以在 PR 页面右侧的 `Labels` 菜单上完成。

  2. 当您再次审查同一个 Pull Request,并希望请求更多更改时

    • 再次执行“更改已请求”操作,即使之前的状态也是“更改已请求”。

    • 或者:删除现有的 `needs-work` 标签,然后重新添加该标签。(Github 会在页面上添加通知,说明您已执行此操作。)

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

    • 将 Pull Request 标记为已批准(与“更改已请求”相同的方式)。

    • 或者:删除 `needs-work` 标签。

    • 或者(对于核心开发者):如果您认为它已准备好合并,则合并 Pull Request。

这可以自动跟踪哪些 PR 需要关注。

部分信息也可以直接在 Github 上查看,尽管(截至 2019 年 8 月),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

构建代码并进行测试

spin test -v

并且如果您从 IPython 中 `import` SciPy(使用 `spin 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 以将您的更改与作者的仓库合并。