From 9381c75ace4899b80a8906c7719147400bb90225 Mon Sep 17 00:00:00 2001 From: Cali0707 Date: Sat, 22 Jul 2023 16:17:56 -0400 Subject: [PATCH 1/3] Started on make PR command Signed-off-by: Cali0707 --- git-make-pr | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 git-make-pr diff --git a/git-make-pr b/git-make-pr new file mode 100755 index 0000000..1ebb984 --- /dev/null +++ b/git-make-pr @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +# Copyright 2023 Calum Murray +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +if git remote | grep -q upstream +then + REMOTE=$(git remote get-url upstream) +else + REMOTE=$(git remote get-url origin) +fi + +echo $REMOTE + +BASE_URL=$(echo $REMOTE | sed -r 's:git@([^/]+)\:(.*)\.git:https\://\1/\2:g') + +echo $BASE_URL From 7276e10584d0d39ecf4ddcbebc535e5d38b90630 Mon Sep 17 00:00:00 2001 From: Cali0707 Date: Sat, 22 Jul 2023 16:49:19 -0400 Subject: [PATCH 2/3] Seems to work for basic case Signed-off-by: Cali0707 --- git-make-pr | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/git-make-pr b/git-make-pr index 1ebb984..c8b61e9 100755 --- a/git-make-pr +++ b/git-make-pr @@ -14,6 +14,17 @@ # See the License for the specific language governing permissions and # limitations under the License. +case "$(uname -sr)" in + Darwin*) + USE_OPEN=true + ;; + Linux*) + USE_XDG_OPEN=true + ;; + *) + ;; +esac + if git remote | grep -q upstream then REMOTE=$(git remote get-url upstream) @@ -21,8 +32,39 @@ else REMOTE=$(git remote get-url origin) fi -echo $REMOTE +if $DEBUG +then + echo $REMOTE +fi BASE_URL=$(echo $REMOTE | sed -r 's:git@([^/]+)\:(.*)\.git:https\://\1/\2:g') -echo $BASE_URL +if $DEBUG +then + echo $BASE_URL +fi + +TRACKING_BRANCH=$(git for-each-ref --format='%(upstream:short)' "$(git symbolic-ref -q HEAD)" | sed -r 's:(.+)/(.*):\2:g') +if [[ -z $TRACKING_BRANCH ]] +then + git push -u origin $(git branch --show-current) + TRACKING_BRANCH="origin/$(git branch --show-current)" +else + # still want to push any existing commits on our branch + git push +fi +if $DEBUG +then + echo $TRACKING_BRANCH +fi + +PULL_URL="$BASE_URL/compare/main...$TRACKING_BRANCH?quick_pull=1" +if USE_OPEN +then + open $PULL_URL +elif USE_XDG_OPEN +then + xdg-open $PULL_URL +else + echo $PULL_URL +fi From 8c5ad1fa653b8bc4d379ab666679f771f6f2f518 Mon Sep 17 00:00:00 2001 From: Cali0707 Date: Mon, 7 Aug 2023 20:29:00 -0400 Subject: [PATCH 3/3] Fixed env vars Signed-off-by: Cali0707 --- git-make-pr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-make-pr b/git-make-pr index c8b61e9..660063e 100755 --- a/git-make-pr +++ b/git-make-pr @@ -59,10 +59,10 @@ then fi PULL_URL="$BASE_URL/compare/main...$TRACKING_BRANCH?quick_pull=1" -if USE_OPEN +if $USE_OPEN then open $PULL_URL -elif USE_XDG_OPEN +elif $USE_XDG_OPEN then xdg-open $PULL_URL else