diff options
Diffstat (limited to '.github/pull_request_template.md')
-rw-r--r-- | .github/pull_request_template.md | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..ae9f4de --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,86 @@ + +<!-- Explain your changes here... --> + +---- +## git request-pull output: +``` +<!-- START REPLACE ME --> + +Generate your PR shortlog and diffstat with these commands: + git remote add axboe-tree https://github.com/axboe/liburing + git fetch axboe-tree + git request-pull axboe-tree/master your_fork_URL your_branch_name + +Then replace this with the output of `git request-pull` command. + +<!-- END REPLACE ME --> +``` +---- +<details> +<summary>Click to show/hide pull request guidelines</summary> + +## Pull Request Guidelines +1. To make everyone easily filter pull request from the email +notification, use `[GIT PULL]` as a prefix in your PR title. +``` +[GIT PULL] Your Pull Request Title +``` +2. Follow the commit message format rules below. +3. Follow the Linux kernel coding style (see: https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst). + +### Commit message format rules: +1. The first line is title (don't be more than 72 chars if possible). +2. Then an empty line. +3. Then a description (may be omitted for truly trivial changes). +4. Then an empty line again (if it has a description). +5. Then a `Signed-off-by` tag with your real name and email. For example: +``` +Signed-off-by: Foo Bar <foo.bar@gmail.com> +``` + +The description should be word-wrapped at 72 chars. Some things should +not be word-wrapped. They may be some kind of quoted text - long +compiler error messages, oops reports, Link, etc. (things that have a +certain specific format). + +Note that all of this goes in the commit message, not in the pull +request text. The pull request text should introduce what this pull +request does, and each commit message should explain the rationale for +why that particular change was made. The git tree is canonical source +of truth, not github. + +Each patch should do one thing, and one thing only. If you find yourself +writing an explanation for why a patch is fixing multiple issues, that's +a good indication that the change should be split into separate patches. + +If the commit is a fix for an issue, add a `Fixes` tag with the issue +URL. + +Don't use GitHub anonymous email like this as the commit author: +``` +123456789+username@users.noreply.github.com +``` + +Use a real email address! + +### Commit message example: +``` +src/queue: don't flush SQ ring for new wait interface + +If we have IORING_FEAT_EXT_ARG, then timeouts are done through the +syscall instead of by posting an internal timeout. This was done +to be both more efficient, but also to enable multi-threaded use +the wait side. If we touch the SQ state by flushing it, that isn't +safe without synchronization. + +Fixes: https://github.com/axboe/liburing/issues/402 +Signed-off-by: Jens Axboe <axboe@kernel.dk> +``` + +</details> + +---- +## By submitting this pull request, I acknowledge that: +1. I have followed the above pull request guidelines. +2. I have the rights to submit this work under the same license. +3. I agree to a Developer Certificate of Origin (see https://developercertificate.org for more information). |