[PATCH v2] dim: abstract listing the developer subcommands

Jani Nikula jani.nikula at intel.com
Tue Apr 3 10:13:14 UTC 2018


On Tue, 03 Apr 2018, Daniel Vetter <daniel at ffwll.ch> wrote:
> 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>

Thanks for the reviews, pushed the lot.

BR,
Jani.

>
>> ---
>>  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
>> 

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the dim-tools mailing list