# checkout the SVN source
$ svn checkout svn://svnversion/trunk
$ cd /into/svn/checkout
$ git init
$ echo ".svn/" > .gitignore
$ git add .gitignore; git commit -m 'Initial .gitignore'
# Now you have a master branch; create your svn branch
$ git checkout -b svn
# Add *everything* from the SVN checkout
$ git add -A
$ git commit -m 'Initial SVN'
# Now get the GIT developed stuff
$ git checkout master
$ git remote add origin /path/to/git-developed-repository
$ git pull origin master
# Now merge SVN repository to GIT master branch
$ git checkout master
$ git merge svn
# push to GIT origin
# Or merge master branch GIT repository to SVN
$ git checkout svn
$ git merge master
# commit to SVN
Nyní byste měli mít všechny změny ze SVN i v master branchi v GITu a nebo naopak.
Nevýhodou tohoto řešení je, že s sebou nepřenáší historii. Důležité však je, že stejný kód je na obou místech.
Zdroj: stackoverflow.com