[maintainer-tools PATCH 3/7] dim: split out email parsing functions
Jani Nikula
jani.nikula at intel.com
Wed Aug 9 13:00:51 UTC 2017
On Wed, 09 Aug 2017, Eric Engestrom <eric.engestrom at imgtec.com> wrote:
> Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
> ---
> dim | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/dim b/dim
> index eaabcec43c8f..a656afa0d255 100755
> --- a/dim
> +++ b/dim
> @@ -1958,6 +1958,16 @@ function dim_fixes
> fi
> }
>
> +function email_get_address
> +{
> + sed -e 's/.*<//' -e 's/>.*//' <<< "$1"
> +}
> +
> +function email_get_name
> +{
> + echo ${cc/<*/} | sed -e 's/[[:space:]]*$//' <<< "$1"
I don't think the ${cc bit belongs in this function, even for the
transitional period until you fix it in a later patch.
BR,
Jani.
> +}
> +
> function dim_add_missing_cc
> {
> if [ $(git cat-file -p HEAD | grep -cE ^parent) -ne 1 ]; then
> @@ -1966,11 +1976,11 @@ function dim_add_missing_cc
> fi
>
> git show | scripts/get_maintainer.pl --email --norolestats --pattern-depth 1 | while read cc; do
> - email="$(echo "$cc" | sed -e 's/.*<//' -e 's/>.*//')"
> + email="$(email_get_address "$cc")"
> name=''
>
> if echo "$cc" | grep -q '<'; then
> - name="$(echo ${cc/<*/} | sed -e 's/[[:space:]]*$//')";
> + name="$(email_get_name "$cc")";
> fi
>
> # Don't add main mailing lists
> @@ -1983,12 +1993,12 @@ function dim_add_missing_cc
> # print out a 1 on success
> matches=$(
> git show -s | grep -i "^ Cc:" | sed 's/^ *[Cc][Cc]: *//' | while read testcc; do
> - testemail="$(echo "$testcc" | sed -e 's/.*<//' -e 's/>.*//')"
> + testemail="$(email_get_address "$testcc")"
>
> if [ "$testemail" != "$email" ]; then
> if [ -z "$name" ]; then continue; fi
>
> - testname="$(echo ${testcc/<*/} | sed -e 's/[[:space:]]*$//' -e 's/^[[:space:]]*//')"
> + testname="$(email_get_name "$testcc" | sed -e 's/^[[:space:]]*//')"
>
> if [ "$testname" != "$name" ]; then continue; fi
> fi
--
Jani Nikula, Intel Open Source Technology Center
More information about the dri-devel
mailing list