xref: /petsc/lib/petsc/bin/maint/check-merge-branch.sh (revision 0b3a6bba120a0cdd0b26cdef79233fff1bc80a01)
1#!/bin/bash -e
2
3UNSHALLOW=''
4if $(git rev-parse --is-shallow-repository); then
5  UNSHALLOW='--unshallow'
6fi
7
8if [ ! -z "${CI_MERGE_REQUEST_TARGET_BRANCH_NAME+x}" ] && [ "${CI_MERGE_REQUEST_EVENT_TYPE}" != "detached" ]; then
9  git fetch -q ${UNSHALLOW} --no-tags origin +"${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}":remotes/origin/"${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}"
10  echo origin/"${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}"
11  exit 0
12fi
13
14if [ ! -z "${CI_PIPELINE_ID+x}" ]; then
15  git fetch -q ${UNSHALLOW} --no-tags origin +release:remotes/origin/release +main:remotes/origin/main
16else
17  git fetch -q
18fi
19
20base_release=$(git merge-base --octopus origin/release origin/main HEAD)
21base_main=$(git merge-base origin/main HEAD)
22if [ "${base_release}" = "${base_main}" ]; then
23    dest=origin/release
24else
25    dest=origin/main
26fi
27echo ${dest}
28exit 0
29