Skip to content

Instantly share code, notes, and snippets.

@owenvoke
Last active February 12, 2019 12:13
Show Gist options
  • Save owenvoke/55c1b9b9c4bbb93b49b184f3100af79f to your computer and use it in GitHub Desktop.
Save owenvoke/55c1b9b9c4bbb93b49b184f3100af79f to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# Usage: ./import-bare-repos-to-gitea {{base_uri}} {{user_id}} {{access_token}} {{import_path}}
if [ -z $1 ] || [ -z $2 ] || [ -z $3 ] || [ -z $4 ]; then
echo "Usage: ./import-bare-repos-to-gitea {{base_uri}} {{user_id}} {{access_token}} {{import_path}}"
exit
fi
# Gitea base URI
GITEA_BASE_URI=$1
# Gitea user id
USER_ID=$2
# Generated at Gitea: /user/settings/applications
ACCESS_TOKEN=$3
# Import path for existing bare repositories
IMPORT_PATH=$4
for DIRECTORY_NAME in `ls ${IMPORT_PATH}`; do
REPO_NAME=${DIRECTORY_NAME%".git"}
curl --silent \
--header "Content-Type: application/json" \
--header "Authorization: token ${ACCESS_TOKEN}" \
--request POST \
--data '{"uid":'${USER_ID}',"repo_name":"'${REPO_NAME}'","clone_addr":"'${IMPORT_PATH}/${DIRECTORY_NAME}'"}' \
"${GITEA_BASE_URI}/api/v1/repos/migrate" > /dev/null
echo "--> Imported: ${REPO_NAME}"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment