[PATCH 3/6] dim: ask the user to create DIM_PREFIX and clone DIM_REPO

Jani Nikula jani.nikula at intel.com
Fri Jan 11 15:06:00 UTC 2019


Help the users if they so desire.

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

diff --git a/dim b/dim
index e502511f5063..11f38b114e56 100755
--- a/dim
+++ b/dim
@@ -155,6 +155,19 @@ function pause
 	echo
 }
 
+function ask_user
+{
+	local prompt="$@ (y/N) "
+
+	read -n 1 -rsp "$prompt"
+	echo
+	if [[ $REPLY =~ ^[Yy]$ ]]; then
+		return 0
+	else
+		return 1
+	fi
+}
+
 #
 # Variable naming convetion:
 #
@@ -2109,18 +2122,26 @@ function dim_setup
 	drm_tip_ssh=ssh://git.freedesktop.org/git/drm-tip
 	linux_upstream_git=git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
 
-	if [ ! -d $DIM_PREFIX ]; then
-		echoerr "Directory $DIM_PREFIX doesn't exist."
-		echoerr "Please set up your repository directory with"
-		echoerr "    mkdir -p $DIM_PREFIX"
-		echoerr "or update your configuration (see dimrc.sample)."
-		exit 1
+	if [[ ! -d "$DIM_PREFIX" ]]; then
+		if ask_user "The DIM_PREFIX repository directory '$DIM_PREFIX' doesn't exist. Create?"; then
+			mkdir -p "$DIM_PREFIX"
+		else
+			echoerr "Please set up your DIM_PREFIX repository directory with"
+			echoerr "    mkdir -p $DIM_PREFIX"
+			echoerr "or update your configuration (see dimrc.sample)."
+			exit 1
+		fi
+	fi
+
+	if [[ ! -d "$DIM_PREFIX/$DIM_REPO" ]]; then
+		if ask_user "The DIM_REPO maintainer kernel repository '$DIM_PREFIX/$DIM_REPO' doesn't exist. Clone upstream?"; then
+			git clone "$linux_upstream_git" "$DIM_REPO"
+		fi
 	fi
-	cd $DIM_PREFIX
 
-	if [ ! -d $(git_dir $DIM_PREFIX/$DIM_REPO) ]; then
-		echoerr "No git checkout found in $DIM_PREFIX/$DIM_REPO."
-		echoerr "Please set up your maintainer linux repository at $DIM_PREFIX/$DIM_REPO with"
+	if [[ ! -d "$(git_dir $DIM_PREFIX/$DIM_REPO)" ]]; then
+		echoerr "No kernel git checkout found in '$DIM_PREFIX/$DIM_REPO'."
+		echoerr "Please set up your DIM_REPO maintainer kernel repository at '$DIM_PREFIX/$DIM_REPO' with:"
 		echoerr "    cd $DIM_PREFIX"
 		echoerr "    git clone $linux_upstream_git $DIM_REPO"
 		echoerr "or update your configuration (see dimrc.sample)."
-- 
2.20.1



More information about the dim-tools mailing list