#!/bin/sh
set -e
set -u
# DEBUG
set -x
# clone or pull git repo
_pull() {
myurl="${1}"
expected_branch="${2}"
mydir_raw="$(basename "${myurl}")"
mydir="${mydir_raw%.git}"
if [ -d "${mydir}" ]; then
cd "${mydir}"
git pull
current_branch="$(git branch --show-current)"
# ensure we are in the right branch without invalidating docker build cache
# yes, even without no branch switch and no new commits
if [ ! "${current_branch}" = "${expected_branch}" ]; then
git checkout "${expected_branch}"
fi
cd -
else
git clone -b "${expected_branch}" "${myurl}" "${mydir}"
}
main() {
figlet 'pull repositories'
_pull 'https://gitea.pangea.org/pangea/django-orchestra' 'sso'
_pull 'https://gitea.pangea.org/pangea/django-musician' 'sso'
_pull 'git@gitea.pangea.org:trustchain-oc1-orchestral/IdHub.git' 'main'
_pull 'git@gitea.pangea.org:trustchain-oc1-orchestral/authentik.git' 'trustchain-oc1-orchestral'
# we only use this to get idhub dependency
# didkit-0.3.2-cp311-cp311-manylinux_2_34_x86_64.whl
_pull 'git@gitea.pangea.org:trustchain-oc1-orchestral/ssikit_trustchain.git' 'master'
main "${@}"