Closing pull requests

Gaurav Dhingra edited this page Oct 13, 2017 · 7 revisions
Clone this wiki locally

SymPy has the following policy on closing pull requests. The goal of this policy is to keep our pull request queue small and allow us to focus on code that is being actively developed and has a strong chance of being merged in master soon.

A pull request will be closed when:

  • It has been reviewed, but has sat for a month (3 days for old PR) or more waiting for the submitter to commit more code to address the comments.
  • The review process has uncovered larger design or technical issues that extend beyond the details of the specific pull request.

After pinging the person if the person responded that he plans to work on it, then let's leave it open. Even longer than a month if needed.

In general we will not close pull requests because of a lack of review. If a pull request has sat for a month or more without review, we need to kick ourselves and get to reviewing it.

Additionally, if a pull request is waiting for the submitter to fix some issues, and we can fix those issues for him/her, we should do so. First try sending a pull request to the original submitter's branch. If the submitter does not respond, close the original pull request and open a new one against SymPy with the fixes.

Finally, if the code in the pull request is fine as it is, but is just waiting on more features, we should just merge the pull request. It is better to put work in progress code in master than to have it sit around getting stale in a pull request.

When a pull request is closed we will do the following:

  • Post a github message to the pull request to confirm that everyone is fine with closing the pull request. This message should cite this policy.
  • Open an issue to track the pull request. This issue should describe what would be needed in order to reopen the pull request.
  • Post a github message to the pull request encouraging the submitter to continue with the work and detail what issues need to be addressed in order for the pull request to be reopened.

This policy is based on IPython's policy: https://github.com/ipython/ipython/wiki/Dev:-Closing-pull-requests.

Example Message:

Hi,

This PR has been inactive for quite sometime, so we are going to close it and open an
issue to reference it. We try to keep our pull request queue small and focused on
active work.  We encourage you to reopen the pull request if and when you
continue to work on this. Please contact us if you have any questions.

Thanks for contributing.

see https://github.com/sympy/sympy/wiki/Closing-pull-requests for
our policies on closing pull request.

I've opened <issue link> for this pull request so that we don't forget about
it.

You can add this as a template for comments at https://github.com/settings/replies