A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://matplotlib.org/devdocs/devel/../install/../devel/pr_guide.html below:

Pull request guidelines — Matplotlib 3.11.0.dev1079+g1663e9af1b documentation

Pull request guidelines#

Pull requests (PRs) on GitHub are the mechanism for contributing to Matplotlib's code and documentation.

We value contributions from people with all levels of experience. In particular, if this is your first PR not everything has to be perfect. We'll guide you through the PR process. Nevertheless, please try to follow our guidelines as well as you can to help make the PR process quick and smooth. If your pull request is incomplete or a work-in-progress, please mark it as a draft pull requests on GitHub and specify what feedback from the developers would be helpful.

Please be patient with reviewers. We try our best to respond quickly, but we have limited bandwidth. If there is no feedback within a couple of days, please ping us by posting a comment to your PR or reaching out on a communication channel

Summary for pull request authors#

We recommend that you check that your contribution complies with the following guidelines before submitting a pull request:

When opening a pull request on Github, please ensure that:

For guidance on creating and managing a pull request, please see our contributing and pull request workflow guides.

Summary for pull request reviewers#

Please help review and merge PRs!

If you have commit rights, then you are trusted to use them. Please be patient and kind with contributors.

When reviewing, please ensure that the pull request satisfies the following requirements before merging it:

Content# Workflow# Detailed guidelines# Documentation# Labels# Milestones#

Set the milestone according to these guidelines:

If multiple rules apply, choose the first matching from the above list. See Backport strategy for detailed guidance on what should or should not be backported.

The milestone marks the release a PR should go into. It states intent, but can be changed because of release planning or re-evaluation of the PR scope and maturity.

All Pull Requests should target the main branch. The milestone tag triggers an automatic backport for milestones which have a corresponding branch.

Merging#

As a guiding principle, we require two approvals from core developers (those with commit rights) before merging a pull request. This two-pairs-of-eyes strategy shall ensure a consistent project direction and prevent accidental mistakes. It is permissible to merge with one approval if the change is not fundamental and can easily be reverted at any time in the future.

Some explicit rules following from this:

After giving the last required approval, the author of the approval should merge the PR. PR authors should not self-merge except for when another reviewer explicitly allows it (e.g., "Approve modulo CI passing, may self merge when green", or "Take or leave the comments. You may self merge".).

Automated tests#

Before being merged, a PR should pass the Automated tests. If you are unsure why a test is failing, ask on the PR or in our Official communication channels

Number of commits and squashing# Branches and backports# Current branches#

The current active branches are

main

The current development version. Future meso (v3.N.0) or macro (v4.0.0) will be branched from this.

v3.N.x

Maintenance branch for Matplotlib 3.N. Future micro releases will be tagged from this.

v3.N.M-doc

Documentation for the current micro release. On a micro release, this will be replaced by a properly named branch for the new release.

Branch selection for pull requests#

Generally, all pull requests should target the main branch.

Other branches are fed through automatic or manual. Directly targeting other branches is only rarely necessary for special maintenance work.

Backport strategy#

Backports to the micro release branch (v3.N.x) are the changes that will be included in the next patch (aka bug-fix) release. The goal of the patch releases is to fix bugs without adding any new regressions or behavior changes. We will always attempt to backport:

and may attempt to backport fixes for regressions introduced in older releases.

In the case where the backport is not clean, for example if the bug fix is built on top of other code changes we do not want to backport, balance the effort and risk of re-implementing the bug fix vs the severity of the bug. When in doubt, err on the side of not backporting.

When backporting a Pull Request fails or is declined, re-milestone the original PR to the next meso release and leave a comment explaining why.

The only changes backported to the documentation branch (v3.N.M-doc) are changes to doc or galleries. Any changes to lib or src, including docstring-only changes, must not be backported to this branch.

Automated backports#

We use MeeseeksDev bot to automatically backport merges to the correct maintenance branch base on the milestone. To work properly the milestone must be set before merging. If you have commit rights, the bot can also be manually triggered after a merge by leaving a message @meeseeksdev backport to BRANCH on the PR. If there are conflicts MeeseeksDev will inform you that the backport needs to be done manually.

The target branch is configured by putting on-merge: backport to TARGETBRANCH in the milestone description on it's own line.

If the bot is not working as expected, please report issues to MeeseeksDev.

Manual backports#

When doing backports please copy the form used by MeeseeksDev, Backport PR #XXXX: TITLE OF PR. If you need to manually resolve conflicts make note of them and how you resolved them in the commit message.

We do a backport from main to v2.2.x assuming:

The TARGET_SHA is the hash of the merge commit you would like to backport. This can be read off of the GitHub PR page (in the UI with the merge notification) or through the git CLI tools.

Assuming that you already have a local branch v2.2.x (if not, then git checkout -b v2.2.x), and that your remote pointing to https://github.com/matplotlib/matplotlib is called upstream:

git fetch upstream
git checkout v2.2.x  # or include -b if you don't already have this.
git reset --hard upstream/v2.2.x
git cherry-pick -m 1 TARGET_SHA
# resolve conflicts and commit if required

Files with conflicts can be listed by git status, and will have to be fixed by hand (search on >>>>>). Once the conflict is resolved, you will have to re-add the file(s) to the branch and then continue the cherry pick:

git add lib/matplotlib/conflicted_file.py
git add lib/matplotlib/conflicted_file2.py
git cherry-pick --continue

Use your discretion to push directly to upstream or to open a PR; be sure to push or PR against the v2.2.x upstream branch, not main!


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4