Created
February 27, 2014 13:27
-
-
Save kostajh/9249937 to your computer and use it in GitHub Desktop.
Migrate repositories from gitolite (or somewhere else) to Bitbucket
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Usage: ./bitbucket-migrate.sh repos.txt | |
# | |
# repos.txt should have one repository per line. | |
echo "Reading $1" | |
while read line | |
do | |
repo=$line | |
echo "###" | |
echo "Processing $repo" | |
git clone --bare git@git.designhammer.net:$repo | |
cd $repo.git | |
echo "Creating repo in Bitbucket" | |
curl --user USER:PASSWORD https://api.bitbucket.org/1.0/repositories/ --data name=$repo --data is_private=true --data owner=designhammer | |
echo "Pushing mirror to bitbucket" | |
git push --mirror git@bitbucket.org:designhammer/$repo.git | |
cd .. | |
echo "Removing $repo.git" | |
rm -rf "$repo.git" | |
echo "Waiting 5 seconds" | |
echo "###" | |
sleep 5; | |
done < $1 | |
exit |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Updated for 2020:
The API changed so i wrote a new thing. Also, bitbucket only supports lowercase names for repositories; our company had mixed case.
This converts the git repo name to lower case, while maintaining mixed case in the project name
Also note that YOURTEAMNAME is case sensitive, you need to create a team and project first inside bitbucket.