From 756e6eacb88bdbef6a85a45fddb7a1f7c7cb2e25 Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Thu, 12 Oct 2023 23:02:27 +0200 Subject: [PATCH] get origin_head from the PR --- cascading-pr.sh | 15 +++++++++++---- tests/originrepo/upgraded | 0 2 files changed, 11 insertions(+), 4 deletions(-) mode change 100644 => 100755 tests/originrepo/upgraded diff --git a/cascading-pr.sh b/cascading-pr.sh index e762fee..0609f73 100755 --- a/cascading-pr.sh +++ b/cascading-pr.sh @@ -37,17 +37,23 @@ function upsert_branch() { function upsert_pr() { local repo_api=${options[destination_url]}/api/v1/repos/${options[destination_repo]} local title="cascading-pr from ${options[origin_url]}/${options[origin_repo]}/pulls/${options[origin_pr]}" - repo_curl ${options[destination_repo]} api --get --data state=open --data type=pulls --data-urlencode q="$title" $repo_api/issues | jq --raw-output .[0] > $TMPDIR/pr.json - url=$(jq --raw-output .url < $TMPDIR/pr.json) + repo_curl ${options[destination_repo]} api --get --data state=open --data type=pulls --data-urlencode q="$title" $repo_api/issues | jq --raw-output .[0] > $TMPDIR/destination-pr.json + url=$(jq --raw-output .url < $TMPDIR/destination-pr.json) if test "$url" != "null"; then log_info "PR already exists $url" return fi - repo_curl ${options[destination_repo]} api_json --data-raw '{"title":"'"$title"'","base":"'${options[destination_base]}'","head":"'${options[destination_head]}'"}' $repo_api/pulls > $TMPDIR/pr.json - url=$(jq --raw-output .url < $TMPDIR/pr.json) + repo_curl ${options[destination_repo]} api_json --data-raw '{"title":"'"$title"'","base":"'${options[destination_base]}'","head":"'${options[destination_head]}'"}' $repo_api/pulls > $TMPDIR/destination-pr.json + url=$(jq --raw-output .url < $TMPDIR/destination-pr.json) log_info "PR created $url" } +function origin_pr_head() { + local repo_api=${options[origin_url]}/api/v1/repos/${options[origin_repo]} + repo_curl ${options[origin_repo]} api_json $repo_api/pulls/${options[origin_pr]} > $TMPDIR/origin-pr.json + jq --raw-output .head.ref < $TMPDIR/origin-pr.json +} + function upsert_clone() { local direction=$1 branch=$2 clone=$3 @@ -103,6 +109,7 @@ function finalize_options() { options[origin_scheme]=$(scheme ${options[origin_url]}) options[origin_host_port]=$(host_port ${options[origin_url]}) options[origin_clone]=${options[origin_scheme]}://:${options[origin_token]}@${options[origin_host_port]}/${options[origin_repo]} + options[origin_head]=$(origin_pr_head) options[destination_scheme]=$(scheme ${options[destination_url]}) options[destination_host_port]=$(host_port ${options[destination_url]}) options[destination_clone]=${options[destination_scheme]}://:${options[destination_token]}@${options[destination_host_port]}/${options[destination_repo]} diff --git a/tests/originrepo/upgraded b/tests/originrepo/upgraded old mode 100644 new mode 100755