Yet another case where something fell off - we can't compute
dim_branches before setup is done, so handle the commands that don't
need setup first.

Reported-by: Tvrtko Ursulin <tvrtko.ursu...@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nik...@intel.com>

---

this is on top of the man page extraction patch
---
 dim | 84 +++++++++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 45 insertions(+), 39 deletions(-)

diff --git a/dim b/dim
index 03e2709159d5..530219d73358 100755
--- a/dim
+++ b/dim
@@ -139,26 +139,6 @@ else
     shift
 fi
 
-#
-# Sanity checks.
-#
-
-if [ "$subcommand" != "setup" -a "$subcommand" != "help" ]; then
-       for d in $DIM_PREFIX $DIM_PREFIX/$DIM_DRM_INTEL 
$DIM_PREFIX/drm-intel-rerere $DIM_PREFIX/drm-intel-nightly; do
-               if [ ! -d $d ]; then
-                       echo "$d is missing, please check your configuration 
and/or run dim setup"
-                       exit 1
-               fi
-       done
-fi
-
-#
-# Internal configuration that depends on a sane setup.
-#
-
-dim_branches=`(source $DIM_PREFIX/drm-intel-rerere/nightly.conf ; echo 
$nightly_branches) | \
-       xargs -n 1 echo | grep '^origin' | sed -e 's/^origin\///'`
-
 # get message id from file
 # $1 = file
 message_get_id ()
@@ -684,10 +664,53 @@ function assert_branch
        fi
 }
 
+#
+# Handle subcommands that must work without a sane setup.
+#
 case "$subcommand" in
        setup)
                setup_dim
                ;;
+       help)
+               manpage=$DIM_PREFIX/maintainer-tools/dim.rst
+               if [ ! -e "$manpage" ]; then
+                       manpage=$(dirname $(readlink -f $0))/dim.rst
+                       if [ ! -e "$manpage" ]; then
+                               echo "Can't find the man page. See 
http://cgit.freedesktop.org/drm-intel/tree/dim.rst?h=maintainer-tools";
+                               exit 1
+                       fi
+               fi
+
+               if hash rst2man 2>/dev/null; then
+                       renderer=rst2man
+                       pager="man -l -"
+               else
+                       renderer=cat
+                       pager=${PAGER:-cat}
+               fi
+
+               $renderer < $manpage | $pager
+               ;;
+esac
+
+#
+# Sanity checks.
+#
+for d in $DIM_PREFIX $DIM_PREFIX/$DIM_DRM_INTEL $DIM_PREFIX/drm-intel-rerere 
$DIM_PREFIX/drm-intel-nightly; do
+       if [ ! -d $d ]; then
+               echo "$d is missing, please check your configuration and/or run 
dim setup"
+               exit 1
+       fi
+done
+
+#
+# Internal configuration that depends on a sane setup.
+#
+dim_branches=`(source $DIM_PREFIX/drm-intel-rerere/nightly.conf ; echo 
$nightly_branches) | \
+       xargs -n 1 echo | grep '^origin' | sed -e 's/^origin\///'`
+
+
+case "$subcommand" in
        nightly-forget)
                cd $DIM_PREFIX/drm-intel-nightly
                git fetch origin >& /dev/null
@@ -964,24 +987,7 @@ case "$subcommand" in
                rm drivers/gpu/drm/i915/*.ko &> /dev/null || true
                make C=1 drivers/gpu/drm/i915/i915.ko
                ;;
-       help|*)
-               manpage=$DIM_PREFIX/maintainer-tools/dim.rst
-               if [ ! -e "$manpage" ]; then
-                       manpage=$(dirname $(readlink -f $0))/dim.rst
-                       if [ ! -e "$manpage" ]; then
-                               echo "Can't find the man page. See 
http://cgit.freedesktop.org/drm-intel/tree/dim.rst?h=maintainer-tools";
-                               exit 1
-                       fi
-               fi
-
-               if hash rst2man 2>/dev/null; then
-                       renderer=rst2man
-                       pager="man -l -"
-               else
-                       renderer=cat
-                       pager=${PAGER:-cat}
-               fi
-
-               $renderer < $manpage | $pager
+       *)
+               echo "Unknown command '$subcommand'. Try 'dim help'."
                ;;
 esac
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to