mirror of https://github.com/knative/docs.git
66 lines
2.9 KiB
Markdown
66 lines
2.9 KiB
Markdown
# Branches and cherrypicking
|
|
|
|
Knative attempts to [support the last 4 releases](https://github.com/knative/community/blob/main/mechanics/RELEASE-VERSIONING-PRINCIPLES.md).
|
|
|
|
By default, new documentation should be written on the `main` branch and then
|
|
cherry-picked to the release branches if needed. Note that the default view of
|
|
[Knative website](https://knative.dev/) is of the most recent release branch, which means that
|
|
changes to `main` don't show up unless explicitly cherrypicked. This also
|
|
means that documentation changes for a release _should be made during the
|
|
development cycle_, rather than at the last minute or after the release.
|
|
|
|
|
|
## Docs versioning
|
|
|
|
Each version of the Knative docs are separated by branches in the `knative/docs`
|
|
repository. The `main` branch represents the "in active development" version
|
|
of the docs. All content in the `main` branch is renders on the
|
|
[Knative website](https://knative.dev/) under
|
|
the **Pre-release** menu and might not be tested nor working.
|
|
|
|
Content in all the other branches of the `knative/docs` repo
|
|
represent "released versions of the docs" and use the naming convention
|
|
`release-#.#` where `#.#` is the version of Knative to which those docs
|
|
correspond.
|
|
|
|
|
|
## Choosing the correct branch
|
|
|
|
It is likely that your docs contribution is either for new or changed features
|
|
in the product, or for a fix or update existing content.
|
|
|
|
- **New or changed features**: If you are adding or updating documentation for a
|
|
new or changed feature, you likely want to open your PR against the `main`
|
|
branch. All pre-release content for active Knative development belongs in
|
|
[`main`](https://github.com/knative/docs/tree/main/).
|
|
|
|
- **Fixes and updates**: If you find an issue in a past release, for example a
|
|
typo or out-of-date content, you likely need to cherrypick your PR.
|
|
Add the "`cherrypick` labels" to your
|
|
original PR to indicate in which of the past release that your change affects.
|
|
|
|
See a list of the available documentation versions in the
|
|
[branches page](https://github.com/knative/docs/branches) of the `knative/docs`
|
|
repo.
|
|
|
|
|
|
## Cherrypicking
|
|
|
|
You can use the [`/cherrypick` tool](https://github.com/kubernetes/test-infra/tree/master/prow/external-plugins/cherrypicker#cherrypicker)
|
|
to automatically cherrypick changes from `main` to previous releases.
|
|
|
|
For example, if you find a typo in a page of the `v1.0` release, then that
|
|
page in the `main` branch likely also has that typo.
|
|
|
|
To fix the typo:
|
|
|
|
1. Open a PR against the
|
|
[`main`](https://github.com/knative/docs/tree/main/) branch.
|
|
1. In a comment on your PR, use the
|
|
[`/cherrypick` tool](https://github.com/kubernetes/test-infra/tree/master/prow/external-plugins/cherrypicker#cherrypicker)
|
|
to indicate which of the past release branches should also be fixed. Generally, we only
|
|
maintain the most recent numbered release.
|
|
|
|
After the original PR is merged, the /cherrypick tool automatically creates a
|
|
new PR with your changes on the specified branch.
|