[PATCH 1/9] dim: abstract listing the developer subcommands

Jani Nikula jani.nikula at intel.com
Thu Mar 29 08:45:53 UTC 2018


Make the developer subcommand checking less clunky.

Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
 dim | 54 ++++++++++++++++++++++++------------------------------
 1 file changed, 24 insertions(+), 30 deletions(-)

diff --git a/dim b/dim
index 29647f87381e..c32bbddde6be 100755
--- a/dim
+++ b/dim
@@ -2057,6 +2057,25 @@ function dim_list_aliases
 		sed 's/^dim_alias_//;s/=/\t/;s/_/-/g'
 }
 
+# Commands that do not require full setup
+function list_developer_commands
+{
+	# These should match the developer section in dim.rst, plus help and
+	# setup commands
+	cat <<-EOF
+		checker
+		checkpatch
+		cite
+		fixes
+		help
+		retip
+		setup
+		sparse
+		tc
+		usage
+	EOF
+}
+
 function dim_cat_to_fixup # [branch]
 {
 	local fixup_file repo branch
@@ -2294,33 +2313,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 +2327,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



More information about the dim-tools mailing list