[dpdk-dev] [PATCH 3/3] scripts: check headline of drivers commits

Nélio Laranjeiro nelio.laranjeiro at 6wind.com
Wed Jul 6 13:59:27 CEST 2016


Thomas,

On Wed, Jul 06, 2016 at 12:38:50PM +0200, Thomas Monjalon wrote:
> From: Nelio Laranjeiro <nelio.laranjeiro at 6wind.com>
> 
> A driver patch under net should start with "net/<driver name>" or if
> a patch touch multiple drivers, it should only start with "net:".
> The same apply for crypto.
> A patch touching all drivers (net + crypto) should start with "drivers:".
> 
> Longer prefixes like "net/mlx:" (for mlx4/mlx5) or "net/e1000/base:" are
> handled by not checking the colon.
> 
> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro at 6wind.com>
> Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
> ---
>  scripts/check-git-log.sh | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/scripts/check-git-log.sh b/scripts/check-git-log.sh
> index 833aa39..3f3cf19 100755
> --- a/scripts/check-git-log.sh
> +++ b/scripts/check-git-log.sh
> @@ -70,6 +70,23 @@ bad=$(echo "$headlines" | grep --color=always \
>  	| sed 's,^,\t,')
>  [ -z "$bad" ] || printf "Wrong headline format:\n$bad\n"
>  
> +# check headline prefix when touching only drivers/, e.g. net/<driver name>
> +bad=$(for commit in $commits ; do
> +	headline=$(git log --format='%s' -1 $commit)
> +	files=$(git diff-tree --no-commit-id --name-only -r $commit)
> +	[ -z "$(echo "$files" | grep -v '^drivers/')" ] || continue
> +	driversgrp=$(echo "$files" | cut -d "/" -f 2 | sort -u)
> +	drivers=$(echo "$files" | cut -d "/" -f 2,3 | sort -u)
> +	if [ $(echo "$driversgrp" | wc -l) -gt 1 ] ; then
> +		bad=$(echo "$headline" | grep -v '^drivers:')

I think you forgot the '$' for drivers in the line just above.

> +	elif [ $(echo "$drivers" | wc -l) -gt 1 ] ; then
> +		bad=$(echo "$headline" | grep -v "^$driversgrp")
> +	else
> +		bad=$(echo "$headline" | grep -v "^$drivers")
> +	fi
> +done | sed 's,^,\t,')
> +[ -z "$bad" ] || printf "Wrong headline prefix:\n$bad\n"
> +
>  # check headline label for common typos
>  bad=$(echo "$headlines" | grep --color=always \
>  	-e '^example[:/]' \
> -- 
> 2.7.0

Otherwise it seems good.

Regards,

-- 
Nélio Laranjeiro
6WIND


More information about the dev mailing list