From 05b207e969f9b4181061dd3fba749b6df06de718 Mon Sep 17 00:00:00 2001 From: Jonas Nick Date: Mon, 17 Jul 2023 13:29:59 +0000 Subject: [PATCH 1/4] sync-upstream: allows providing the local branch via cli --- contrib/sync-upstream.sh | 43 ++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/contrib/sync-upstream.sh b/contrib/sync-upstream.sh index c64acbbd..1489227d 100755 --- a/contrib/sync-upstream.sh +++ b/contrib/sync-upstream.sh @@ -3,12 +3,13 @@ set -eou pipefail help() { - echo "$0 range [end]" - echo " merges every merge commit present in upstream and missing locally." + echo "$0 [-b ] range [end]" + echo " merges every merge commit present in upstream and missing in (default: master)." echo " If the optional [end] commit is provided, only merges up to [end]." + echo " If the optional [-b branch] provided, then ." echo - echo "$0 select ... " - echo " merges every selected merge commit" + echo "$0 [-b ] select ... " + echo " merges every selected merge commit into (default: master)" echo echo "This tool creates a branch and a script that can be executed to create the" echo "PR automatically. The script requires the github-cli tool (aka gh)." @@ -17,12 +18,9 @@ help() { exit 1 } -if [ "$#" -lt 1 ]; then - help -fi - REMOTE=upstream REMOTE_BRANCH="$REMOTE/master" +LOCAL_BRANCH="master" # Makes sure you have a remote "upstream" that is up-to-date setup() { ret=0 @@ -41,7 +39,7 @@ setup() { } range() { - RANGESTART_COMMIT=$(git merge-base "$REMOTE_BRANCH" master) + RANGESTART_COMMIT=$(git merge-base "$REMOTE_BRANCH" "$LOCAL_BRANCH") RANGEEND_COMMIT=$(git rev-parse "$REMOTE_BRANCH") if [ "$#" = 1 ]; then RANGEEND_COMMIT=$1 @@ -57,18 +55,37 @@ range() { esac } +# Process -b argument +while getopts "b:" opt; do + case $opt in + b) + LOCAL_BRANCH=$OPTARG + ;; + \?) + echo "Invalid option: -$OPTARG" >&2 + ;; + esac +done + +# Shift off the processed options +shift $((OPTIND -1)) + +if [ "$#" -lt 1 ]; then + help +fi + case $1 in range) shift setup range "$@" - REPRODUCE_COMMAND="$0 range $RANGEEND_COMMIT" + REPRODUCE_COMMAND="$0 range -b $LOCAL_BRANCH $RANGEEND_COMMIT" ;; select) shift setup COMMITS=$* - REPRODUCE_COMMAND="$0 select $@" + REPRODUCE_COMMAND="$0 select -b $LOCAL_BRANCH $@" ;; help) help @@ -96,7 +113,7 @@ echo "-----------------------------------" echo "$BODY" echo "-----------------------------------" # Create branch from PR commit and create PR -git checkout master +git checkout "$LOCAL_BRANCH" git pull --autostash git checkout -b temp-merge-"$PRNUM" @@ -115,7 +132,7 @@ cat < "$FNAME" #!/bin/sh gh pr create -t '$TITLE' -b '$BODY' --web # Remove temporary branch -git checkout master +git checkout "$LOCAL_BRANCH" git branch -D temp-merge-"$PRNUM" EOT chmod +x "$FNAME" From 9b6a1c384d00cc61bf9160e5df858ca6c52e6af3 Mon Sep 17 00:00:00 2001 From: Tim Ruffing Date: Mon, 17 Jul 2023 18:42:25 +0200 Subject: [PATCH 2/4] sync-upstream.sh: Fix position of "-b" option in reproduce command --- contrib/sync-upstream.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/sync-upstream.sh b/contrib/sync-upstream.sh index 1489227d..1f021bbb 100755 --- a/contrib/sync-upstream.sh +++ b/contrib/sync-upstream.sh @@ -79,13 +79,13 @@ case $1 in shift setup range "$@" - REPRODUCE_COMMAND="$0 range -b $LOCAL_BRANCH $RANGEEND_COMMIT" + REPRODUCE_COMMAND="$0 -b $LOCAL_BRANCH range $RANGEEND_COMMIT" ;; select) shift setup COMMITS=$* - REPRODUCE_COMMAND="$0 select -b $LOCAL_BRANCH $@" + REPRODUCE_COMMAND="$0 -b $LOCAL_BRANCH select $@" ;; help) help From 0a9915687191cabba0241bd45c3a3416b7f36e29 Mon Sep 17 00:00:00 2001 From: Tim Ruffing Date: Tue, 18 Jul 2023 15:05:27 +0200 Subject: [PATCH 3/4] sync-upstream.sh: Add "git show --remerge-diff" tip --- contrib/sync-upstream.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contrib/sync-upstream.sh b/contrib/sync-upstream.sh index 1f021bbb..b910a599 100755 --- a/contrib/sync-upstream.sh +++ b/contrib/sync-upstream.sh @@ -104,8 +104,7 @@ do done # Remove trailing "," TITLE=${TITLE%?} - -BODY=$(printf "%s\n\n%s" "$BODY" "This PR can be recreated with \`$REPRODUCE_COMMAND\`.") +BODY=$(printf "%s\n\n%s\n%s" "$BODY" "This PR can be recreated with \`$REPRODUCE_COMMAND\`." "Tip: Use \`git show --remerge-diff\` to show the changes manually added to the merge commit.") echo "-----------------------------------" echo "$TITLE" From 7e9193666f840eaec024d1dad968361b79a14753 Mon Sep 17 00:00:00 2001 From: Tim Ruffing Date: Thu, 20 Jul 2023 23:02:38 +0200 Subject: [PATCH 4/4] ci: Always define EXPERIMENTAL variable --- .cirrus.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.cirrus.yml b/.cirrus.yml index 48c9be8c..31501f4d 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -14,6 +14,7 @@ env: WITH_VALGRIND: yes EXTRAFLAGS: ### secp256k1 modules + EXPERIMENTAL: no ECDH: no RECOVERY: no SCHNORRSIG: no