[PATCH 4/5] dim: Make branch_to_remote more robust
Daniel Vetter
daniel.vetter at ffwll.ch
Wed May 23 07:27:03 UTC 2018
The old version relied on branch@{upstream}, which requires that
the branch is checked out. Instead use the indirection through the
abstract drm-tip repo.
v2: Questions from Jani:
- We still need the fallback path for non-managed branches like
rerere-cache or drm-intel-next.
- Also this change removes some of the implicit validation that the
branch has a local tracking branch. I only spotted one place where
an assert_branch was missing.
Cc: Jani Nikula <jani.nikula at intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
dim | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/dim b/dim
index ff9e572726cb..dbd2c9a0f740 100755
--- a/dim
+++ b/dim
@@ -248,11 +248,18 @@ function pick_protocol_url # (git|ssh|https|whatever) url [url ...]
function branch_to_remote # branch
{
- local branch remote
+ local branch remote repo
branch=$1
- remote=$(git rev-parse --abbrev-ref --symbolic-full-name "$branch@{upstream}")
- remote=${remote%%/*}
+ repo=$(branch_to_repo $branch)
+
+ if [[ -z "$repo" ]] ; then
+ # fallback for special branches like rerere-cache
+ remote=$(git rev-parse --abbrev-ref --symbolic-full-name "$branch@{upstream}")
+ remote=${remote%%/*}
+ else
+ remote=$(repo_to_remote $repo)
+ fi
echo $remote
}
@@ -1837,6 +1844,7 @@ function dim_tag_branch
local branch remote tag
branch=$1
+ assert_branch $branch
remote=$(branch_to_remote $branch)
cd $DIM_PREFIX/$DIM_REPO
--
2.17.0
More information about the dim-tools
mailing list