flectra_community/gather.sh

75 lines
2.0 KiB
Bash

# Flectra Community Module Gather
apk update
apk add jq
## ADD REMOTE
for i in {1..3}; do
repos=$(curl -s "https://gitlab.com/api/v4/groups/flectra-community/projects?per_page=100&page=${i}")
git config --global merge.ours.driver true
for row in $(echo "${repos}" | jq -r '.[] | @base64'); do
_jq() {
echo ${row} | base64 --decode | jq -r ${1}
}
url=$(_jq '.http_url_to_repo')
name=$(_jq '.name')
echo ${name}
echo ${url}
if [ $name != 'l10n-switzerland' ]
then
git remote add $name $url
git fetch $name
fi
done
git gc --prune=now
done
for a in 2.0 1.0; do
echo "=========================================="
echo ${a}
git checkout ${a}
for i in {1..3}; do
repos=$(curl -s "https://gitlab.com/api/v4/groups/flectra-community/projects?per_page=100&page=${i}")
git config --global merge.ours.driver true
for row in $(echo "${repos}" | jq -r '.[] | @base64'); do
_jq() {
echo ${row} | base64 --decode | jq -r ${1}
}
url=$(_jq '.http_url_to_repo')
name=$(_jq '.name')
echo ${name}
echo ${url}
if [ $name != 'l10n-switzerland' ]
then
git merge --no-edit --allow-unrelated-histories $name/${a}
fi
done
done
git gc --prune=now
done
## REMOVE
for i in {1..3}; do
repos=$(curl -s "https://gitlab.com/api/v4/groups/flectra-community/projects?per_page=100&page=${i}")
git config --global merge.ours.driver true
for row in $(echo "${repos}" | jq -r '.[] | @base64'); do
_jq() {
echo ${row} | base64 --decode | jq -r ${1}
}
url=$(_jq '.http_url_to_repo')
name=$(_jq '.name')
echo ${name}
echo ${url}
if [ $name != 'l10n-switzerland' ]
then
git remote remove $name
fi
done
done
git push --all