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:
parent
dda79ca840
commit
c1af14ff1f
1 changed files with 22 additions and 8 deletions
|
@ -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
|
||||||
|
@ -143,7 +143,7 @@ getGitHubUserInfo()
|
||||||
cloneGitHubRepo()
|
cloneGitHubRepo()
|
||||||
{
|
{
|
||||||
mkdir ~/temp
|
mkdir ~/temp
|
||||||
cd
|
cd
|
||||||
mkdir ~/temp/github
|
mkdir ~/temp/github
|
||||||
cd ~/temp/github
|
cd ~/temp/github
|
||||||
echo "Cloning $repoName"
|
echo "Cloning $repoName"
|
||||||
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue