Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Propose change to PR merging policy. #14867

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 19, 2019

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Jul 22, 2019

As discussed during the dev call.

attn @tacaswell

PR Summary

PR Checklist

  • Has Pytest style unit tests
  • Code is Flake 8 compliant
  • New features are documented, with examples if plot related
  • Documentation is sphinx and numpydoc compliant
  • Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there)
  • Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way

@tacaswell tacaswell added this to the v3.2.0 milestone Jul 22, 2019
@dstansby
Copy link
Member

👍 but going to leave for now to give others in @matplotlib/developers a chance to take a look

- If a PR already has a positive review, a core developer (e.g. the first
reviewer, but not necessarily) may champion that PR for merging. In order
to do so, they should ping all core devs both on github and on the dev
mailing list, and label the PR with the "Merge with single review?" label.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure about "and on the dev mailing list"; I rarely see day-to-day pings (as opposed to long-term, more architectural things) happen there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it doesn't cost much to send an email.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean that I don't see it happening regularly...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine either way, but let's see what @tacaswell thinks?

As discussed during the dev call.
Copy link
Member

@ivanov ivanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💚 - just trying to get a high score of reviews for this PR :)

Other core devs can then either review the PR and merge or reject it, or
simply request that it gets a second review before being merged. If no one
asks for such a second review within a week, the PR can then be merged on
the basis of that single review.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, if I am reading this correctly, does this mean that a core dev can effectively put a "hold" on merging a PR? If so, I think that should be made explicit. Will there be a label for that, or does one just need to leave a comment?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, you can always reject a PR. Or you can just say, "I don't want to reject this PR myself, but I think it is complex enough that I ask for a second positive review before it gets merged." (the "or simply request etc.").
You can probably just remove the "merge-with-single-review" label to signal that.

@WeatherGod
Copy link
Member

Overall, I am fine with this idea. It would be nice if we had some sort of tool that helped us track this "champion" process, so that we could see how often this happens, who is doing the championing, and for whom. Also, on the flip side, to know how often PRs are getting "held up".

@WeatherGod
Copy link
Member

Oh, and should we have some sort of provision about typical holidays where we might expect a significant number of devs to be away from their computers for a week or two at a time? I just want to make sure that no responses around the winter holidays isn't taken to mean a lack of objection.

@anntzer
Copy link
Contributor Author

anntzer commented Jul 23, 2019

I don't mind changing the one-week interval (originally suggested by @tacaswell) to a two-week interval (having a variable interval depending on the time of year seems overengineered).

Copy link
Contributor

@dopplershift dopplershift left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two weeks seems reasonable to account for holiday times, but would that hold up things most of the year then? Or would two weeks be that much better than what we have now?

@story645
Copy link
Member

@dopplershift currently most PRs are merged within a week or remain open semi indefinitely, so 2 weeks might be a sweet spot?

@WeatherGod I think most of those metrics might be available via the github api.

@jklymak
Copy link
Member

jklymak commented Jul 23, 2019

I think the social stigma attached to being involved in a bad PR is substantial enough that we can trust folks to no abuse this. i.e. waiting a bit longer if it is holidays. I think folks can also use their judgement about the scope of the PR, and the number of likely people interested/qualified to say anything about it. Some obscure PGF change can probably be handled by a couple of folks without burdening a third to check and merge. A major user facing change would presumably get more attempts at getting feedback

@NelleV
Copy link
Member

NelleV commented Jul 24, 2019

I have the data for "time opened" per pull request, and it's a power law. Things that are open for more than one week are typically opened for more time than that.

IMO, it would be reasonable to add that the person championing the PR can not be the author of the PR.

@ivanov
Copy link
Member

ivanov commented Aug 19, 2019

@NelleV's last comment is hilarious given it's been open for an additional 26 days :)

@tacaswell tacaswell merged commit 9a43e85 into matplotlib:master Aug 19, 2019
@anntzer anntzer deleted the prmergepolicy branch August 19, 2019 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.