[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