Skip to content
Snippets Groups Projects
Commit 5b342467 authored by Jörg Sachse's avatar Jörg Sachse
Browse files

fix: treat broken remote Git repositories correctly (create backup, try to...

fix: treat broken remote Git repositories correctly (create backup, try to merge, do fresh clone if necessary)
parent 2661b81d
No related branches found
No related tags found
No related merge requests found
Pipeline #9776 passed
......@@ -72,11 +72,21 @@ until [ ${page} -gt ${maxpage} ]; do
echo "############"
if [[ -d "./${repo_name}" ]]; then
echo "update repo: ${repo_name}"
cmd="git -C ./${repo_name} pull --recurse-submodules" # update local repo
backup_date="$( date +%d-%m-%Y_%k-%M-%S )"
cp -r ./${repo_name} ./${repo_name}.backup_${backup_date}
git -C ./${repo_name} fetch
if git -C ./${repo_name} merge; then
rm -rf ./${repo_name}.backup_${backup_date}
else
rm -rf ./${repo_name}
echo "clone repo : ${repo_name}"
cmd="git clone --recurse-submodules ${repo_url}" # create local repo
fi
# cmd="git -C ./${repo_name} pull --recurse-submodules" # update local repo
else
echo "clone repo : ${repo_name}"
cmd="git clone --recurse-submodules ${repo_url}" # create local repo
fi
fi
${cmd} || fails+=("${cmd}") # remember fails
fi
done < <(curl -sS "${orgs_base_url}${org}/repos?page=${page}&per_page=${perpage}" | grep -e 'clone_url.*' | cut -d \" -f 4 | xargs -L1 echo) # HINT: use process substitution to remember $fails
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment