diff options
author | Giuseppe Di Natale <[email protected]> | 2017-10-26 10:23:58 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2017-10-26 10:23:58 -0700 |
commit | 69b229bd60135838d606f5da41831d409d11de2d (patch) | |
tree | 795aebc17638052d6bb85818b2cd3f5b9190ca25 | |
parent | 8dcaf243d77b21c49092a4ffd3a641ac3407217c (diff) |
commitcheck: Multiple OpenZFS ports in commit
Allow commitcheck.sh to handle multiple OpenZFS ports in
a single commit. This is useful in the cases when a change
upstream has bug fixes and it makes sense to port them with
the original patch.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: George Melikov <[email protected]>
Reviewed-by: Chris Dunlop <[email protected]>
Signed-off-by: Giuseppe Di Natale <[email protected]>
Closes #6780
-rw-r--r-- | .github/CONTRIBUTING.md | 53 | ||||
-rwxr-xr-x | scripts/commitcheck.sh | 13 |
2 files changed, 51 insertions, 15 deletions
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index ab64c0c0e..a74eb5535 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -186,23 +186,23 @@ Signed-off-by: Contributor <[email protected]> ``` #### OpenZFS Patch Ports -If you are porting an OpenZFS patch, the commit message must meet +If you are porting OpenZFS patches, the commit message must meet the following guidelines: -* The first line must be the summary line from the OpenZFS commit. -It must begin with `OpenZFS dddd - ` where `dddd` is the OpenZFS issue number. -* Provides a `Authored by:` line to attribute the patch to the original author. -* Provides the `Reviewed by:` and `Approved by:` lines from the original +* The first line must be the summary line from the most important OpenZFS commit being ported. +It must begin with `OpenZFS dddd, dddd - ` where `dddd` are OpenZFS issue numbers. +* Provides a `Authored by:` line to attribute each patch for each original author. +* Provides the `Reviewed by:` and `Approved by:` lines from each original OpenZFS commit. * Provides a `Ported-by:` line with the developer's name followed by -their email. -* Provides a `OpenZFS-issue:` line which is a link to the original illumos +their email for each OpenZFS commit. +* Provides a `OpenZFS-issue:` line with link for each original illumos issue. -* Provides a `OpenZFS-commit:` line which links back to the original OpenZFS -commit. +* Provides a `OpenZFS-commit:` line with link for each original OpenZFS commit. * If necessary, provide some porting notes to describe any deviations from -the original OpenZFS commit. +the original OpenZFS commits. -An example OpenZFS patch port commit message is provided below. +An example OpenZFS patch port commit message for a single patch is provided +below. ``` OpenZFS 1234 - Summary from the original OpenZFS commit @@ -218,6 +218,37 @@ OpenZFS-issue: https://www.illumos.org/issues/1234 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/abcd1234 ``` +If necessary, multiple OpenZFS patches can be combined in a single port. +This is useful when you are porting a new patch and its subsequent bug +fixes. An example commit message is provided below. +``` +OpenZFS 1234, 5678 - Summary of most important OpenZFS commit + +1234 Summary from original OpenZFS commit for 1234 + +Authored by: Original Author <[email protected]> +Reviewed by: Reviewer Two <[email protected]> +Approved by: Approver One <[email protected]> +Ported-by: ZFS Contributor <[email protected]> + +Provide some porting notes here for 1234 if necessary. + +OpenZFS-issue: https://www.illumos.org/issues/1234 +OpenZFS-commit: https://github.com/openzfs/openzfs/commit/abcd1234 + +5678 Summary from original OpenZFS commit for 5678 + +Authored by: Original Author2 <[email protected]> +Reviewed by: Reviewer One <[email protected]> +Approved by: Approver Two <[email protected]> +Ported-by: ZFS Contributor <[email protected]> + +Provide some porting notes here for 5678 if necessary. + +OpenZFS-issue: https://www.illumos.org/issues/5678 +OpenZFS-commit: https://github.com/openzfs/openzfs/commit/efgh5678 +``` + #### Coverity Defect Fixes If you are submitting a fix to a [Coverity defect](https://scan.coverity.com/projects/zfsonlinux-zfs), diff --git a/scripts/commitcheck.sh b/scripts/commitcheck.sh index 1f78dc8a8..927f5e737 100755 --- a/scripts/commitcheck.sh +++ b/scripts/commitcheck.sh @@ -51,9 +51,14 @@ function check_tagged_line_with_url() return 1 fi - if ! test_url "$foundline"; then - return 1 - fi + OLDIFS=$IFS + IFS=$'\n' + for url in $(echo -e "$foundline"); do + if ! test_url "$url"; then + return 1 + fi + done + IFS=$OLDIFS return 0 } @@ -99,7 +104,7 @@ function openzfs_port_commit() error=0 # subject starts with OpenZFS dddd - subject=$(git log -n 1 --pretty=%s "$REF" | egrep -m 1 '^OpenZFS [[:digit:]]+ - ') + subject=$(git log -n 1 --pretty=%s "$REF" | egrep -m 1 '^OpenZFS [[:digit:]]+(, [[:digit:]]+)* - ') if [ -z "$subject" ]; then echo "error: OpenZFS patch ports must have a subject line that starts with \"OpenZFS dddd - \"" error=1 |