#!/bin/sh # # Sync git repository to subversion repository. # # Based on http://google-opensource.blogspot.com/2008/05/export-git-project-to-google-code.html if [ $# -lt 2 ] ; then echo "usage: ${0} GIT_REPO GIT_SVN_REPO_CHECKOUT" exit 2 fi GIT_REPO=$1 GIT_SVN_REPO_CHECKOUT=$2 if [ ! -d $GIT_SVN_REPO_CHECKOUT/.git/svn ] ; then echo "error: no git-svn checkout found in $GIT_SVN_REPO_CHECKOUT" exit 3 fi p=$(pwd) cd $GIT_SVN_REPO_CHECKOUT git fetch $GIT_REPO git branch tmp $(cut -b-40 .git/FETCH_HEAD) git tag -a -m "Last fetch" newlast tmp git rebase --onto master last tmp git branch -M tmp master git svn dcommit mv $GIT_SVN_REPO_CHECKOUT/.git/refs/tags/newlast \ $GIT_SVN_REPO_CHECKOUT/.git/refs/tags/last cd $p # vim:ft=sh