diff options
author | Artem Bityutskiy <artem.bityutskiy@linux.intel.com> | 2013-11-27 15:30:19 +0200 |
---|---|---|
committer | Artem Bityutskiy <artem.bityutskiy@linux.intel.com> | 2013-11-28 10:28:36 +0200 |
commit | fe92a1294727fd1dc24bfde95f487acc9d2e8c54 (patch) | |
tree | e2b3b5a6707deba5d29a757be487dacb1d7a6610 | |
parent | 6b11eceeb8ad9f9853d86b26d281027327d995be (diff) | |
download | aiaiai-fe92a1294727fd1dc24bfde95f487acc9d2e8c54.tar.gz |
sh-functions: change subject parsing
This patch change subject parsing so that it would allow a prefix before the
PATCH keyword: [Prefix PATCH Suffix m/n], as Jacob Keller requested.
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
-rw-r--r-- | aiaiai-sh-functions | 12 | ||||
-rwxr-xr-x | tests/test-subj-parsing | 16 |
2 files changed, 20 insertions, 8 deletions
diff --git a/aiaiai-sh-functions b/aiaiai-sh-functions index e6e2973..9e2c730 100644 --- a/aiaiai-sh-functions +++ b/aiaiai-sh-functions @@ -74,7 +74,7 @@ fetch_header_per_patch() } # All patches we deal with have to have the following prefix -prefix_format="[PATCH <ver> <m/n>]" +prefix_format="[Prefix PATCH Suffix <m/n>]" # A single blank character __blank="[[:blank:]]{1}" @@ -82,16 +82,18 @@ __blank="[[:blank:]]{1}" __blanks="[[:blank:]]{0,16}" # Reasonable number of [blah] prefixes __blah="(\[[^]]*\]${__blanks}){0,4}" +# The prefix +__prefix="${__blanks}([^[:blank:]]*${__blanks}${__blank}){0,1}" # Patch number pattern __num="0*([[:digit:]]+)" # The "PATCH" word for case-insensitive matching __patch="[Pp][Aa][Tt][Cc][Hh]" # Sed regexp matching correct subject -__single="^${__blah}\[${__blanks}${__patch}.*\].*$" +__single="^${__blah}\[${__prefix}${__patch}.*\].*$" # Sed regexps matching m and n -__series="^${__blah}\[${__blanks}${__patch}.*${__blank}${__num}\/{0,1}${__num}${__blanks}\].*$" -__mref="\2" -__nref="\3" +__series="^${__blah}\[${__prefix}${__patch}.*${__blank}${__num}\/{0,1}${__num}${__blanks}\].*$" +__mref="\3" +__nref="\4" # Get "m" (patch's number in the series) from the subject # Usage: subject_m <subject> diff --git a/tests/test-subj-parsing b/tests/test-subj-parsing index 97b7488..386ab0a 100755 --- a/tests/test-subj-parsing +++ b/tests/test-subj-parsing @@ -52,12 +52,13 @@ check_subject "[PATCH] kuku" "" "" check_subject "[PATCH so-so] kuku" "" "" check_subject "[PATCH so-so 1/1] kuku" "1" "1" check_subject "[*] [PATCH so-so 1/1] kuku" "1" "1" +check_subject "[*] [Prefix PATCH so-so 1/1] kuku" "1" "1" # Numbers check_subject "[PATCH 100/1] kuku" "100" "1" check_subject "[PATCH mfld-666 1/999] kuku" "1" "999" check_subject "[PATCH 0001/0999] kuku" "1" "999" -check_subject "[PATCH mfld-666 10/00000009] kuku" "10" "9" +check_subject "[XXX PATCH mfld 666 10/00000009] kuku" "10" "9" check_subject "[PATCH 100/1] kuku" "100" "1" check_subject "[PATCH 1/999] kuku" "1" "999" @@ -67,21 +68,26 @@ check_subject "[PATCH 10/00000009] kuku" "10" "9" # Invalid numbers check_subject "[PATCH abcd 1/] kuku" "" "" check_subject "[PATCH 01/] kuku" "" "" -check_subject "[PATCH 018888888888888888/] kuku" "" "" +check_subject "[A PATCH 018888888888888888/] kuku" "" "" check_subject "[PATCH /1] kuku" "" "" check_subject "[PATCH /1/] kuku" "" "" check_subject "[PATCH /] kuku" "" "" check_subject "[PATCH //] kuku" "" "" check_subject "[PATCH /0000000002] kuku" "" "" -# Stuff between PATCH and numbers +# Prefix/Suffix check_subject "[PATCH 1 10/010] kuku" "10" "10" check_subject "[PATCH -_)(*&^ 10/10] kuku" "10" "10" +check_subject "[*&^ PATCH v2] kuku" "" "" +check_subject "[driver] [-_)(*&^ PATCH v2] kuku" "" "" +check_subject "[driver] [ My[[:blank:]] PATCH v2] kuku" "" "" + # Spaces check_subject "[PATCH x 10/10] kuku" "10" "10" # tabtabxtabtab check_subject "[PATCH @ 10/10] kuku" "10" "10" # spcspc@spcspc check_subject "[ PATCH + 10/010 ] kuku" "10" "10" # tabPATCHspcspc+spcspc +check_subject "[ A PATCH 10/010] kuku" "10" "10" # spcAspctabPATCH # Several prefixes check_subject "[RFC][PATCH] kuku" "" "" @@ -103,8 +109,12 @@ check_subject "[driver] [PATCH [ 9/111] kuku" "9" "111" check_subject "[Patch 9/111] kuku" "9" "111" # Bad subjects +bad_subject " [PATCH] kuku" bad_subject "[driver] kuku" bad_subject "Re: [driver] [PATCH V2 prj] kuku" bad_subject "Re: [PATCH 1 10/10] kuku" +bad_subject "[mPATCH 1 10/10] kuku" +bad_subject "[mPATCH] kuku" +bad_subject "[ mPATCH] kuku" echo "Done" >&2 |