[dim PATCH 1/6] dim: require explicit repo in create-branch

Jani Nikula
2017-10-03T13:38:58Z

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.

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 fc16d114632f..7832ddca692c 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 65e652e8bc75..41e55a6c9b7c 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*
----------------------