From b4ed7b55f8c6a6c8bdc93e8bf232c47a7717fac5 Mon Sep 17 00:00:00 2001
From: Jani Nikula <jani.nikula@intel.com>
Date: Tue, 3 Oct 2017 16:38:03 +0300
Subject: [PATCH] dim: require explicit repo in create-branch

No longer consider drm-intel as the default. All repos need to be
explicitly specified. Improve error reporting in repo_to_remote for
unknown repos.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 dim     | 20 ++++++++++++++++----
 dim.rst | 12 +++++-------
 2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/dim b/dim
index fc16d11..7832ddc 100755
--- a/dim
+++ b/dim
@@ -335,7 +335,17 @@ function branch_to_remote # branch
 
 function repo_to_remote # repo
 {
-	url_to_remote ${drm_tip_repos[$1]}
+	local repo url_list
+
+	repo=$1
+	url_list=${drm_tip_repos[$repo]}
+
+	if [[ -z "$url_list" ]]; then
+		echoerr "unknown repo $repo"
+		return 1
+	fi
+
+	url_to_remote $url_list
 }
 
 function branch_to_repo # branch
@@ -1208,9 +1218,11 @@ function dim_create_branch
 
 	cd $DIM_PREFIX/$DIM_DRM_INTEL
 
-	if ( repo_to_remote ${branch%%/*} ) &> /dev/null ; then
-		repo=${branch%%/*}
-		branch=${branch#*/}
+	repo=${branch%%/*}
+	branch=${branch#*/}
+	if [[ "$repo" = "$branch" ]]; then
+		echoerr "give branch in format repo/branch"
+		return 1
 	fi
 
 	remote=$(repo_to_remote $repo)
diff --git a/dim.rst b/dim.rst
index 65e652e..41e55a6 100644
--- a/dim.rst
+++ b/dim.rst
@@ -298,13 +298,11 @@ Compile-test the current tree and if successful resolve a
 conflicted git am. Also runs the patch checker afterwards. This fails to add the
 Link: tag, so you'll need to add it manually or use the **add-link** subcommand.
 
-create-branch *branch* [*commit-ish*]
--------------------------------------
-Create a new topic branch with the given name. Note that topic/ is not
-automatically prepended. The branch starts at HEAD or the given commit-ish. Note
-that by default the new branch is created in the drm-intel.git repository. If
-you want to create a branch somewhere else, then you need to prepend the remote
-name from nightly.conf, e.g. "drm-misc/topic/branch".
+create-branch *repo*/*branch* [*commit-ish*]
+--------------------------------------------
+Create a new topic branch in the given *repo* named *branch*. The branch starts
+at HEAD or the given *commit-ish*. Note that topic/ is not automatically added
+to the branch name. Branch names should be unique across repos.
 
 remove-branch *branch*
 ----------------------
-- 
GitLab