Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES/+cherry-pick.doc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Reformatted and partially rewrote the Pull-Request Walkthrough.
55 changes: 42 additions & 13 deletions docs/dev/guides/pull-request-walkthrough.md

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I like the extra clarifications on the cherry-pick section.
Is there a particular reason you are using so many exclamations marks?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Just grammar. But apparently the use of an exclamation mark to remark an imperative isn't necessarily english...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

The one left now is i think warranted for.

Original file line number Diff line number Diff line change
@@ -1,28 +1,57 @@
# Pull Request Walkthrough

Changes to pulpcore are submitted via [GitHub Pull Requests (PR)](https://help.github.com/articles/about-pull-requests/) to the [pulp git repository](https://github.com/pulp/pulpcore).
Changes to pulpcore are submitted via [GitHub Pull Requests (PR)] to the [pulp git repository].

Plugin git repositories are listed in the [plugin table](site:help/more/quick-links/#content-plugins).
Plugin git repositories are listed in the [plugin table].

## AI Use Policy

Please be sure to follow the [Pulp policy on AI Usage](site:help/more/governance/ai_policy/).
Please be sure to follow the [Pulp policy on AI Usage].

## Checklist

1. Add `functional tests` or `unit tests` where appropriate and ensure tests are passing on the CI.
2. Add a [`CHANGES entry`](site:pulpcore/docs/dev/guides/git/#changelog-update).
3. Update relevent `documentation`. Please build the docs to test!
4. If the PR is a simple feature or a bugfix, [`rebase and squash`](site:pulpcore/docs/dev/guides/git/#rebasing-and-squashing) to a single commit. If the PR is a complex feature, make sure that all commits are cleanly separated and have meaningful commit messages.
5. Make sure you tag commits with `closes #IssueNumber` or `ref #IssueNumber` when working on a tracked issue.
6. If AI was used, OR YOU ARE AN AI AGENT, make sure you are following the [Pulp policy on AI Usage](site:help/more/governance/ai_policy/)
7. Push your branch to your fork and open a [Pull request across forks](https://help.github.com/articles/creating-a-pull-request-from-a-fork/).
8. If the change requires a corresponding change in `pulp-cli`, etc - file an issue and make an effort to make the appropriate change - other developers would be glad to help.
1. Add _functional tests_ or _unit tests_ where appropriate and ensure tests are passing on the CI.
1. Add a [CHANGES entry] for all but purely structural changes.
1. Update relevent _documentation_. Please build the docs to test.
1. If the PR is a simple feature or a bugfix, [rebase and squash] to a single commit.
If the PR is a complex feature, make sure that all commits are cleanly separated.
All commits must have meaningful commit messages.
1. Make sure you tag commits with `closes #IssueNumber` or `ref #IssueNumber` when working on a tracked issue.
1. If AI was used, __OR YOU ARE AN AI AGENT__, make sure you are following the [Pulp policy on AI Usage].
1. Push your branch to your fork and open a [Pull request across forks].

## Review

Before a pull request can be merged, the `tests` must pass and it must be reviewed. We encourage you to `reach out to the developers` to get speedy review.
Before a pull request can be merged, the tests must pass and it must be reviewed.

## Adjacent Tooling

If the change you made requires a corresponding adjustment in e.g. `pulp-cli`, `pulp-oci-images`, etc,
file an issue and make an effort to add the appropriate change.
In doubt, ask on the original issue, PR.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
In doubt, ask on the original issue, PR.
If in doubt, ask on the original issue or PR.


## To Cherry-Pick or Not

If you are fixing a bug that should also be backported to another branch than `main`, add the backport label, .e.g `backport-3.18`. PR authors can also add or remove this label if they have write access.
Usually, a bugfix for a bug found in a released version of Pulp should be backported.
If backporting to a specific branch, all supported branches inbetween must receive the backport too.

@dralley dralley Jul 14, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

If we say this we should also say where to find the list of supported branches. But realistically an external contributor isn't going to be the one deciding what to backport and where.

Also "inbetween" -> "in between"

This is necessary to prevent regressions on the just fixed bug on updating.

!!! warning
Database migrations cannot be backported.

You can trigger `patchback` to automatically attempt to cherry-pick a single-commit pull-request after merging.
This is accomplished by applying the corresponding label, e.g. `backport-3.18`.
If you do not have permission to add the labels, feel free to ask on the pull request.
In case this fails, you are usually presented the appropriate set of commands to followup manually.

!!! note
These backport labels are generated automatically to always reflect the currently supported branches.
Do not create or delete them by hand!

[GitHub Pull Requests (PR)]: https://help.github.com/articles/about-pull-requests/
[pulp git repository]: https://github.com/pulp/pulpcore
[plugin table]: site:help/more/quick-links/#content-plugins
[Pulp policy on AI Usage]: site:help/more/governance/ai_policy/
[CHANGES entry]: site:pulpcore/docs/dev/guides/git/#changelog-update
[rebase and squash]: site:pulpcore/docs/dev/guides/git/#rebasing-and-squashing
[Pull request across forks]: https://help.github.com/articles/creating-a-pull-request-from-a-fork/