Still left to do is fixing up create-branch and remove-branch. Everything else should work here now. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> --- dim | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/dim b/dim index 4d5008ecce11..fc99108b6e55 100755 --- a/dim +++ b/dim @@ -163,7 +163,8 @@ if [ "$subcommand" != "setup" -a "$subcommand" != "help" -a "$subcommand" != "us # dim_branches=`(source $DIM_PREFIX/drm-rerere/nightly.conf ; echo $nightly_branches) | \ - xargs -n 1 echo | grep '^origin' | sed -e 's/^origin\///'` + xargs -n 1 echo | grep '^\(drm-intel\|drm-misc\)' | \ + sed -e 's/^\(drm-intel\|drm-misc\)\///'` fi function dim_uptodate @@ -209,6 +210,14 @@ function get_remote_name echo $remote } +function get_remote_for_branch +{ + local remote=`git rev-parse --abbrev-ref --symbolic-full-name $1@{upstream}` + remote=${remote%%/*} + + echo $remote +} + # get message id from file # $1 = file message_get_id () @@ -434,12 +443,14 @@ function dim_push_branch exit 1 fi - branch=$1 + local branch=$1 shift assert_branch $branch - git push $DRY_RUN $DIM_DRM_INTEL_REMOTE $branch "$@" + local remote=`get_remote_for_branch $branch` + + git push $DRY_RUN $remote $branch "$@" dim_rebuild_nightly } @@ -715,7 +726,11 @@ function dim_checkout dim_cd $1 if [[ `git branch --list $1` == "" ]] ; then - git checkout -t $DIM_DRM_INTEL_REMOTE/$1 + if [[ `git branch --list --remote $1` == "" ]] ; then + git checkout -t $DIM_DRM_INTEL_REMOTE/$1 + else + git checkout -t $1 + fi else git checkout $1 fi @@ -999,8 +1014,9 @@ function dim_pull_request exit 1 fi - branch=$1 - upstream=$2 + local branch=$1 + local upstream=$2 + local remote=`get_remote_for_branch $1` if [ "$branch" != "drm-intel-next" ]; then assert_branch $branch @@ -1013,13 +1029,13 @@ function dim_pull_request if [ "$branch" = "drm-intel-next" ]; then # drm-intel-next pulls have been tagged using dim update-next - drm_intel_next_tags=`git log $DIM_DRM_INTEL_REMOTE/drm-intel-next ^$upstream --decorate | grep "(.*tag: drm-intel-next-" | sed -e "s/^.*(.*tag: \(drm-intel-next-[^ ,]*\).*)$/\1/"` + drm_intel_next_tags=`git log $branch@{upstream} ^$upstream --decorate | grep "(.*tag: drm-intel-next-" | sed -e "s/^.*(.*tag: \(drm-intel-next-[^ ,]*\).*)$/\1/"` prep_pull_mail $drm_intel_next_tags - tag=`git describe --all --exact $DIM_DRM_INTEL_REMOTE/drm-intel-next` + tag=`git describe --all --exact $branch@{upstream}` else tag=$branch-$today - $DRY git tag -f $tag $DIM_DRM_INTEL_REMOTE/$branch - $DRY git push -f $DIM_DRM_INTEL_REMOTE $tag + $DRY git tag -f $tag $branch@{upstream} + $DRY git push -f $remote $tag prep_pull_mail fi -- 2.9.3 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel