From: Willy Tarreau Date: Thu, 6 Feb 2020 17:38:19 +0000 (+0100) Subject: SCRIPTS: backport: use short revs and resolve the initial commit X-Git-Tag: v2.2-dev2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=499b298ce049fd496ccedfde8107b600e7917b9d;p=thirdparty%2Fhaproxy.git SCRIPTS: backport: use short revs and resolve the initial commit I find myself often getting trapped into calling "backport 2.0 HEAD" which doesn't work because "HEAD" is passed as the argument to cherry-pick in other repos. Let's resolve it first. And also let's shorten the commit IDs to make the error messages more readable and to ease copy-paste. --- diff --git a/scripts/backport b/scripts/backport index 28a06038e6..36cdb57734 100755 --- a/scripts/backport +++ b/scripts/backport @@ -22,8 +22,7 @@ quit() { } short() { - # git rev-parse --short $1 - echo "${1::8}" + git rev-parse --short "$1" } # returns the latest commit ID in $REPLY. Returns 0 on success, non-zero on @@ -112,8 +111,9 @@ cd $(git rev-parse --show-toplevel) START="$PWD" while [ -n "$1" ]; do - UPSTREAM="$1" - COMMIT="$1" + UPSTREAM="$(short $1)" + [ -n "$UPSTREAM" ] || die "branch $BRANCH: unknown commit ID $1, cannot backport." + COMMIT="$UPSTREAM" BRANCH="-source-" while :; do if ! down; then @@ -139,7 +139,7 @@ while [ -n "$1" ]; do fi get_last_commit || die "$BRANCH: cannot retrieve last commit ID, stopping after backporting commit $COMMIT (upstream $UPSTREAM)" - COMMIT="$REPLY" + COMMIT="$(short $REPLY)" done walk_up || die "Failed to go back to $PWD, stopping *after* backporting upstream $UPSTREAM" shift