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() {
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
echo "$0 select <commit> ... <commit>"
@ -42,7 +42,7 @@ setup() {
range() {
RANGESTART_COMMIT=$(git merge-base $REMOTE_BRANCH master)
RANGEEND_COMMIT=$REMOTE_BRANCH
RANGEEND_COMMIT=$(git rev-parse $REMOTE_BRANCH)
if [ "$#" = 1 ]; then
RANGEEND_COMMIT=$1
fi
@ -62,11 +62,13 @@ case $1 in
shift
setup
range "$@"
REPRODUCE_COMMAND="$0 range $RANGEEND_COMMIT"
;;
select)
shift
setup
COMMITS=$*
REPRODUCE_COMMAND="$0 $@"
;;
help)
help
@ -75,16 +77,18 @@ case $1 in
help
esac
TITLE="Upstream PRs "
TITLE="Upstream PRs"
BODY=""
for COMMIT in $COMMITS
do
PRNUM=$(git log -1 "$COMMIT" --pretty=format:%s | sed s/'Merge #\([0-9]*\).*'/'\1'/)
TITLE="$TITLE #$PRNUM"
BODY=$(printf "%s\n%s" "$BODY" "$(git log -1 "$COMMIT" --pretty=format:%s | sed s/'Merge #\([0-9]*\)'/'[upstream PR #\1]'/)")
TITLE="$TITLE $PRNUM,"
BODY=$(printf "%s\n%s" "$BODY" "$(git log -1 "$COMMIT" --pretty=format:%s | sed s/'Merge #\([0-9]*\)'/'[bitcoin-core\/secp256k1#\1]'/)")
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 "$TITLE"