cilium
45 строк · 1.3 Кб
1#!/usr/bin/env bash
2# SPDX-License-Identifier: Apache-2.0
3# Copyright Authors of Cilium
4
5source $(dirname $(readlink -ne $BASH_SOURCE))/../release/lib/common.sh6source $TOOL_LIB_PATH/gitlib.sh7source $(dirname $(readlink -ne $BASH_SOURCE))/common.sh8
9require_linux
10
11# Validate command-line
12common::argc_validate 113
14BRANCH="${1:-}"15if [ "$BRANCH" = "" ]; then16BRANCH=$(git symbolic-ref --short HEAD)17fi
18BRANCH=$(echo "$BRANCH" | sed 's/^v//')19
20# Extra optional suffix in cases where there are multiple backport PRs that
21# have the same conflicting branch name.
22SUFFIX="${2}"23
24REMOTE=$(get_remote)25git fetch "${REMOTE}"26if ! git branch -a | grep -q "${REMOTE}/v$BRANCH$" ; then27echo "usage: start-backport <branch version> [suffix]" 1>&228echo " (detected branch $BRANCH)" 1>&229common::exit 130fi
31
32DATE=$(date --rfc-3339=date)33PRBRANCH="pr/v${BRANCH}-backport-${DATE}${SUFFIX}"34
35if (git --no-pager branch | grep -q "${PRBRANCH}"); then36echo "Error: branch '${PRBRANCH}' already exists"37echo "Consider passing a suffix as the second parameter"38echo39echo "Example:"40echo " ./contrib/backporting/start-backport ${BRANCH} \"-2\""41common::exit 142fi
43
44git checkout -b "${PRBRANCH}" "${REMOTE}/v${BRANCH}"45contrib/backporting/check-stable $BRANCH v$BRANCH-backport-$DATE.txt46