]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
SCRIPTS: backport: use short revs and resolve the initial commit
authorWilly Tarreau <w@1wt.eu>
Thu, 6 Feb 2020 17:38:19 +0000 (18:38 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 6 Feb 2020 17:38:19 +0000 (18:38 +0100)
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.

scripts/backport

index 28a06038e61dcafb85b8008d19ab43c6b61bd395..36cdb577346e928417b0d7f1ce0eff1491c78330 100755 (executable)
@@ -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