Skip to content

Instantly share code, notes, and snippets.

@leosoto
Created April 2, 2018 13:49
Show Gist options
  • Save leosoto/ebd8554635d0e5f4346d9b57da3c9f5d to your computer and use it in GitHub Desktop.
Save leosoto/ebd8554635d0e5f4346d9b57da3c9f5d to your computer and use it in GitHub Desktop.
Moves all your organization's bitbucket repositories to GitHub. Note that when a repository is correctly uploaded to GitHub it is *removed* from BitBucket. Requires https://bitbucket.org/zhemao/bitbucket-cli/. Set the variables BB_* with your bitbucket credentials and GH_* variables with your GitHub credentials.
#!/bin/bash
set -e
repos=$(bb list -u $BB_USERNAME -p $BB_PASSWORD --private | grep $BB_ORG | cut -d' ' -f3 | cut -d'/' -f2)
for repo in $repos; do
echo
echo "* Processing $repo..."
echo
git clone --bare git@bitbucket.org:$BB_ORG/$repo.git
cd $repo.git
echo
echo "* $repo cloned, now creating on github..."
echo
curl -u $GH_USERNAME:$GH_PASSWORD https://api.github.com/orgs/$GH_ORG/repos -d "{\"name\": \"$repo\", \"private\": true}"
echo
echo "* mirroring $repo to github..."
echo
git push --mirror git@github.com:$GH_ORG/$repo.git && \
bb delete -u $BB_USERNAME -p $BB_PASSWORD --owner $BB_ORG $repo
cd ..
done
@leosoto
Copy link
Author

leosoto commented Feb 1, 2020

@pdecarcer Awesome.

PS: So bb delete still works but bb list doesn't?

@pdecarcer
Copy link

@leosoto Thats right!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment