24 lines
648 B
Bash
24 lines
648 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
GITEA_HOST=$1
|
||
|
|
||
|
if [ -z "$GITEA_HOST" ] || [ -z "$GITEA_ACCESS_TOKEN" ] ; then
|
||
|
echo "Clones all repos that you have access to into the current directory."
|
||
|
echo "You must set \$GITEA_ACCESS_TOKEN to a value from the gitea interface."
|
||
|
echo "Usage: $0 <gitea_host>"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
for i in $(curl -s --header "Authorization: token $GITEA_ACCESS_TOKEN" "${GITEA_HOST}/api/v1/user/repos?limit=50" | jq -r 'map(.name + "," + .ssh_url) | flatten[]') ; do
|
||
|
OLDIFS=$IFS
|
||
|
IFS=','
|
||
|
set -- $i
|
||
|
if [ -d $1 ] ; then
|
||
|
echo "Repo $1 already exists, skipping."
|
||
|
else
|
||
|
echo "Cloning $1 from $2"
|
||
|
git clone -q $2
|
||
|
fi
|
||
|
IFS=$OLDIFS
|
||
|
done
|