From 9c32e5c495b76f9dee4ce2d5752bd65c9fad9835 Mon Sep 17 00:00:00 2001 From: davidak Date: Wed, 22 Apr 2020 00:50:51 +0200 Subject: [PATCH] CONTRIBUTING.md: Improve backport instructions --- .github/CONTRIBUTING.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index ae4f68dddc1..cb0264b0167 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -50,12 +50,13 @@ For package version upgrades and such a one-line commit message is usually suffi ## Backporting changes -To [backport a change into a release branch](https://nixos.org/nixpkgs/manual/#submitting-changes-stable-release-branches): +Follow these steps to backport a change into a release branch in compliance with the [commit policy](https://nixos.org/nixpkgs/manual/#submitting-changes-stable-release-branches). -1. Take note of the commit in which the change was introduced into `master`. +1. Take note of the commits in which the change was introduced into `master` branch. 2. Check out the target _release branch_, e.g. `release-20.03`. Do not use a _channel branch_ like `nixos-20.03` or `nixpkgs-20.03`. -3. Use `git cherry-pick -x `. -4. Open your backport PR. Make sure to select the release branch (e.g. `release-20.03`) as the target branch of the PR, and link to the PR in which the original change was made to `master`. +3. Create a branch for your change, e.g. `git checkout -b backport`. +4. When the reason to backport is not obvious from the original commit message, use `git cherry-pick -xe ` and add a reason. Otherwise use `git cherry-pick -x `. That's fine for minor version updates that only include security and bug fixes, commits that fixes an otherwise broken package or similar. +5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-20.03`) as the target branch of the pull request, and link to the pull request in which the original change was comitted to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[20.03]`. ## Reviewing contributions