mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-06 12:20:52 +01:00
Signed-off-by: Eli Uriegas <eliuriegasfb.com> Pull Request resolved: https://github.com/pytorch/pytorch/pull/77978 Signed-off-by: Eli Uriegas <eliuriegas@fb.com> Approved by: https://github.com/suo, https://github.com/atalman
50 lines
1.3 KiB
Bash
50 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
: '
|
|
So you are looking to cut a release branch? Well you came
|
|
to the right script.
|
|
|
|
This script can be used to cut any branch on any repository
|
|
|
|
For `pytorch/pytorch` usage would be like:
|
|
> DRY_RUN=disabled cut-release-branch.sh
|
|
|
|
For `pytorch/builder` or domains usage would be like:
|
|
> DRY_RUN=disabled GIT_BRANCH_TO_CUT_FROM=main RELEASE_VERSION=1.11 cut-release-branch.sh
|
|
'
|
|
|
|
set -eou pipefail
|
|
|
|
GIT_TOP_DIR=$(git rev-parse --show-toplevel)
|
|
GIT_REMOTE=${GIT_REMOTE:-origin}
|
|
GIT_BRANCH_TO_CUT_FROM=${GIT_BRANCH_TO_CUT_FROM:-viable/strict}
|
|
|
|
# should output something like 1.11
|
|
RELEASE_VERSION=${RELEASE_VERSION:-$(cut -d'.' -f1-2 "${GIT_TOP_DIR}/version.txt")}
|
|
|
|
DRY_RUN_FLAG="--dry-run"
|
|
if [[ ${DRY_RUN:-enabled} == "disabled" ]]; then
|
|
DRY_RUN_FLAG=""
|
|
fi
|
|
|
|
|
|
(
|
|
set -x
|
|
git fetch --all
|
|
git checkout "${GIT_REMOTE}/${GIT_BRANCH_TO_CUT_FROM}"
|
|
)
|
|
|
|
for branch in "release/${RELEASE_VERSION}" "orig/release/${RELEASE_VERSION}"; do
|
|
if git rev-parse --verify "${branch}" >/dev/null 2>/dev/null; then
|
|
echo "+ Branch ${branch} already exists, skipping..."
|
|
continue
|
|
else
|
|
(
|
|
set -x
|
|
git checkout "${GIT_REMOTE}/${GIT_BRANCH_TO_CUT_FROM}"
|
|
git checkout -b "${branch}"
|
|
git push -q ${DRY_RUN_FLAG} "${GIT_REMOTE}" "${branch}"
|
|
)
|
|
fi
|
|
done
|