2
0
Fork 0
mirror of https://github.com/alexanderepstein/Bash-Snippets synced 2018-11-08 02:59:35 +01:00

Got all repostitory names from github

This commit is contained in:
Alex Epstein 2017-07-05 17:40:23 -04:00
parent dda79ca840
commit c1af14ff1f

View file

@ -97,7 +97,7 @@ getBitbucketInfo()
backupRepo() backupRepo()
{ {
cd ~/temp/$repoName cd ~/temp/$repoName || return 1
if [[ $private == "1" ]];then if [[ $private == "1" ]];then
httpGet --user $bbUsername:$password https://api.bitbucket.org/1.0/repositories/ --data name=$repoName$timestamp is_private=true > /dev/null httpGet --user $bbUsername:$password https://api.bitbucket.org/1.0/repositories/ --data name=$repoName$timestamp is_private=true > /dev/null
echo "private" echo "private"
@ -108,7 +108,7 @@ backupRepo()
repoName=$(echo $repoName | tr '[:upper:]' '[:lower:]') repoName=$(echo $repoName | tr '[:upper:]' '[:lower:]')
timestamp=$(echo $timestamp | tr '[:upper:]' '[:lower:]') timestamp=$(echo $timestamp | tr '[:upper:]' '[:lower:]')
git remote add origin https://$bbUsername:$password@bitbucket.org/$bbUsername/$repoName$timestamp.git > /dev/null || return 1 git remote add origin https://$bbUsername:$password@bitbucket.org/$bbUsername/$repoName$timestamp.git > /dev/null || return 1
echo "Upoading $originalRepoName to bitbucket" echo "Uploading $originalRepoName to bitbucket"
git push -q --progress origin --all > /dev/null || return 1 git push -q --progress origin --all > /dev/null || return 1
echo "Uploading the tags for $originalRepoName" echo "Uploading the tags for $originalRepoName"
git push -q --progress origin --tags > /dev/null || return 1 git push -q --progress origin --tags > /dev/null || return 1
@ -119,8 +119,8 @@ backupRepo()
copyRepository() copyRepository()
{ {
timestamp=$(date | tr " " _ | tr : _ ) timestamp=$(date | tr " " _ | tr : _ )
cd ~/temp || { rm -rf ~/temp; return 1; }
cp -r $1 ~/temp || { rm -rf ~/temp; return 1; } cp -r $1 ~/temp || { rm -rf ~/temp; return 1; }
cd ~/temp || { rm -rf ~/temp; return 1; }
#repoName=$(ls ~/temp) #repoName=$(ls ~/temp)
cd $repoName || { rm -rf ~/temp; return 1; } cd $repoName || { rm -rf ~/temp; return 1; }
rm -rf .git && git init > /dev/null rm -rf .git && git init > /dev/null
@ -153,7 +153,11 @@ cloneGitHubRepo()
getGithubRepoNames() getGithubRepoNames()
{ {
response=$(httpGet "https://api.github.com/users/$ghUsername/repos?sort=updated&per_page=100") response=$(httpGet "https://api.github.com/users/$ghUsername/repos?sort=updated&per_page=100" | grep -Eo '"name": "[ a-Z . \/ \\ 0-9 -- _ ]*' | sed s/'"name": "'/""/g)
for repo in $response
do
repoNames+=("$repo")
done
} }
usage() usage()
@ -187,8 +191,8 @@ while getopts "pauvh" opt; do
;; ;;
a) a)
all="1" all="1"
echo "Feature not added yet, for now backup repositories individually" >&2 #echo "Feature not added yet, for now backup repositories individually" >&2
exit 0 #exit 0
;; ;;
v) v)
echo "Version $currentVersion" echo "Version $currentVersion"
@ -223,7 +227,7 @@ elif [ $# -ge 1 ];then
for i in "$@"; do for i in "$@"; do
repoName=$i repoName=$i
cloneGitHubRepo || exit 1 cloneGitHubRepo || exit 1
copyRepository ~/temp/github/$repoName || { echo "Error: couldnt copy $repoName to ~/temp/$repoName"; exit 1; } copyRepository ~/temp/github/$repoName || { echo "Error: couldnt copy $repoName to ~/temp/$originalRepoName"; exit 1; }
backupRepo || { echo "Error: couldnt backup $originalRepoName to bitbucket"; exit 1; } backupRepo || { echo "Error: couldnt backup $originalRepoName to bitbucket"; exit 1; }
done done
exit 0 exit 0
@ -251,5 +255,15 @@ if [[ $all == "0" ]];then
else else
getGitHubUserInfo || exit 1 getGitHubUserInfo || exit 1
getGithubRepoNames || exit 1 getGithubRepoNames || exit 1
getBitbucketInfo || exit 1
echo
for repo in "${repoNames[@]}"
do
repoName=$repo
cloneGitHubRepo || exit 1
copyRepository ~/temp/gitub/$repoName || { echo "Error: couldnt copy $repoName to ~/temp/$repoName"; exit 1; }
backupRepo || { echo "Error: couldnt backup $repoName to bitbucket"; exit 1; }
done
exit 0 exit 0
fi fi