-
-
Save tierra/3061041 to your computer and use it in GitHub Desktop.
Script to sync wxWidgets SVN to GitHub
This file contains hidden or 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 | |
# Intial git svn clone: | |
# git svn clone --prefix=svn/ -A ~/.svn2git/authors -s https://svn.wxwidgets.org/svn/wx/wxWidgets wxWidgets | |
cd ~/svn-git-mirrors/wxWidgets; | |
if [ -f .sync-running-wxWidgets ]; then exit 1; fi; | |
touch .sync-running-wxWidgets | |
# Pull all updates down from SVN first (the meat of the sync). | |
git svn fetch | |
git svn rebase | |
# Create a git tag for each SVN tag if it doesn't already exist. | |
git for-each-ref refs/remotes/svn/tags | cut -d / -f 5- | while read ref; do | |
git tag -f $ref refs/remotes/svn/tags/$ref; | |
done; | |
# Create a local git branch for all SVN branches we really care about. | |
svn list https://svn.wxwidgets.org/svn/wx/wxWidgets/branches | grep -oE '[^/]*' | while read branch; do | |
git branch -f $branch remotes/svn/$branch; | |
done; | |
git push --mirror [email protected]:wxWidgets/wxWidgets.git; | |
rm .sync-running-wxWidgets |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment