Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Script to sync wxWidgets SVN to GitHub
# Intial git svn clone:
# git svn clone --prefix=svn/ -A ~/.svn2git/authors -s 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;
# Create a local git branch for all SVN branches we really care about.
svn list | grep -oE '[^/]*' | while read branch; do
git branch -f $branch remotes/svn/$branch;
git push --mirror;
rm .sync-running-wxWidgets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment