Merge #127: sync-upstream: Create proper links to upstream PRs

136ed8f84d9c8ab852698375deccf85090e21913 sync-upstream: Fix output of command to reproduce (Tim Ruffing)
38f1e777d4958a7bbc68d9a6e5555e626aaedf34 sync-upstream: Create proper links to upstream PRs (Tim Ruffing)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 136ed8f84d9c8ab852698375deccf85090e21913

Tree-SHA512: f3bc9a15ec62d6c0fc0cdd7c1b4553b0d4159eebbc6f0151d05fac6bd480296be4b2ffbec418ec9102fe228b98f1f57cbecfd70b1a72485b4e1ef57489aae115
This commit is contained in:
Jonas Nick 2021-03-10 21:21:48 +00:00
commit 6a7861f646
No known key found for this signature in database
GPG Key ID: 4861DBF262123605

View File

@ -4,7 +4,7 @@ set -eou pipefail
help() { help() {
echo "$0 range [end]" echo "$0 range [end]"
echo " merges every merge commit missing merge commit." echo " merges every merge commit present in upstream and missing locally."
echo " If the optional [end] commit is provided, only merges up to [end]." echo " If the optional [end] commit is provided, only merges up to [end]."
echo echo
echo "$0 select <commit> ... <commit>" echo "$0 select <commit> ... <commit>"
@ -42,7 +42,7 @@ setup() {
range() { range() {
RANGESTART_COMMIT=$(git merge-base $REMOTE_BRANCH master) RANGESTART_COMMIT=$(git merge-base $REMOTE_BRANCH master)
RANGEEND_COMMIT=$REMOTE_BRANCH RANGEEND_COMMIT=$(git rev-parse $REMOTE_BRANCH)
if [ "$#" = 1 ]; then if [ "$#" = 1 ]; then
RANGEEND_COMMIT=$1 RANGEEND_COMMIT=$1
fi fi
@ -62,11 +62,13 @@ case $1 in
shift shift
setup setup
range "$@" range "$@"
REPRODUCE_COMMAND="$0 range $RANGEEND_COMMIT"
;; ;;
select) select)
shift shift
setup setup
COMMITS=$* COMMITS=$*
REPRODUCE_COMMAND="$0 $@"
;; ;;
help) help)
help help
@ -75,16 +77,18 @@ case $1 in
help help
esac esac
TITLE="Upstream PRs " TITLE="Upstream PRs"
BODY="" BODY=""
for COMMIT in $COMMITS for COMMIT in $COMMITS
do do
PRNUM=$(git log -1 "$COMMIT" --pretty=format:%s | sed s/'Merge #\([0-9]*\).*'/'\1'/) PRNUM=$(git log -1 "$COMMIT" --pretty=format:%s | sed s/'Merge #\([0-9]*\).*'/'\1'/)
TITLE="$TITLE #$PRNUM" TITLE="$TITLE $PRNUM,"
BODY=$(printf "%s\n%s" "$BODY" "$(git log -1 "$COMMIT" --pretty=format:%s | sed s/'Merge #\([0-9]*\)'/'[upstream PR #\1]'/)") BODY=$(printf "%s\n%s" "$BODY" "$(git log -1 "$COMMIT" --pretty=format:%s | sed s/'Merge #\([0-9]*\)'/'[bitcoin-core\/secp256k1#\1]'/)")
done done
# Remove trailing ","
TITLE=${TITLE%?}
BODY=$(printf "%s\n\n%s" "$BODY" "This PR was automatically created with \\\`$0 $*\\\`.") BODY=$(printf "%s\n\n%s" "$BODY" "This PR can be recreated with \`$REPRODUCE_COMMAND\`.")
echo "-----------------------------------" echo "-----------------------------------"
echo "$TITLE" echo "$TITLE"