[PATCH v2] dim: abstract listing the developer subcommands

Daniel Vetter daniel at ffwll.ch
Tue Apr 3 09:31:17 UTC 2018


On Tue, Apr 03, 2018 at 12:03:27PM +0300, Jani Nikula wrote:
> Make the developer subcommand checking less clunky.
> 
> v2: Preserve array with in-line comments (Daniel)
> 
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> ---
>  dim | 60 ++++++++++++++++++++++++++++++------------------------------
>  1 file changed, 30 insertions(+), 30 deletions(-)
> 
> diff --git a/dim b/dim
> index 068efb674cd3..505226bd18ab 100755
> --- a/dim
> +++ b/dim
> @@ -2057,6 +2057,31 @@ function dim_list_aliases
>  		sed 's/^dim_alias_//;s/=/\t/;s/_/-/g'
>  }
>  
> +# Commands that do not require full setup
> +function list_developer_commands
> +{
> +	local -a developer_commands
> +
> +	developer_commands=(
> +		# developer commands
> +		# these should match the developer section in dim.rst
> +		"checker"
> +		"checkpatch"
> +		"cite"
> +		"fixes"
> +		"retip"
> +		"sparse"
> +		"tc"
> +		# help commands
> +		"help"
> +		"usage"
> +		# include setup
> +		"setup"
> +	)
> +
> +	printf "%s\n" "${developer_commands[@]}"
> +}
> +
>  function dim_cat_to_fixup # [branch]
>  {
>  	local fixup_file repo branch
> @@ -2294,33 +2319,12 @@ if ! declare -f $subcmd_func >/dev/null; then
>  	exit 1
>  fi
>  
> -# functions useful for developers don't need a full dim setup
> -developer_commands=(
> -	# developer commands
> -	# these should match the developer section in dim.rst
> -	"tc"
> -	"cite"
> -	"fixes"
> -	"checkpatch"
> -	"sparse"
> -	"checker"
> -	"retip"
> -	# help commands
> -	"help"
> -	"usage"
> -	# include setup
> -	"setup"
> -)
> -
> -developer_command=0
> -for cmd in "${developer_commands[@]}" ; do
> -	if [ $cmd = $subcmd ] ; then
> -		developer_command=1
> -		break;
> +# Commands useful for developers don't need a full dim setup
> +if list_developer_commands | grep -qx $subcmd; then
> +	if [ -r $DIM_PREFIX/drm-rerere/$integration_config ]; then
> +		read_integration_config
>  	fi
> -done
> -
> -if [ $developer_command = "0" ]; then
> +else
>  	for d in $DIM_PREFIX $DIM_PREFIX/$DIM_REPO $DIM_PREFIX/drm-rerere $DIM_PREFIX/drm-tip; do
>  		if [ ! -d $d ]; then
>  			echoerr "$d is missing, please check your configuration and/or run dim setup"
> @@ -2329,10 +2333,6 @@ if [ $developer_command = "0" ]; then
>  	done
>  
>  	read_integration_config
> -else
> -	if [ -r $DIM_PREFIX/drm-rerere/$integration_config ]; then
> -		read_integration_config
> -	fi
>  fi
>  
>  # throw away to not confuse list-aliases
> -- 
> 2.11.0
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dim-tools mailing list