Synchronising between Git and SVN

Synchronizing updates between the two repositories.

1. Clone the GitHub Repo


$ git clone


$ git clone

2. Change into the Directory

$ cd seo-wordpress

3. Set Up a Subversion tracking branch

$ git branch --no-track svnsync 
$ git checkout svnsync
$ git svn init -s --prefix=origin/
$ git svn fetch --log-window-size 10000 #CAUTION THIS LINE TAKES A LONG TIME TO COMPLETE
$ git reset --hard origin/trunk

4. Merge changes from Subversion to GitHub

$ git checkout svnsync
$ git svn rebase 
$ git checkout master 
$ git merge svnsync 
$ git push origin master

5. Merge changes from GitHub and publish to SubVersion

$ git checkout master
$ git pull origin master 
$ git checkout svnsync 
$ git svn rebase 
$ git merge --no-ff master 
$ git commit 
$ git svn dcommit

### Tagging Releases
Tagging a release in Git is very simple:

$ git tag v1.0.4

To create an SVN tag, simply:

$ git svn tag 1.0.4

This will create `/tags/1.0.4` in the remote SVN repository and copy all the files from the remote `/trunk` into that tag, so be sure to push all the latest code to `/trunk` before creating an SVN tag.

### Subversion tagging

It appears that there is now an issue with git svn tagging. We now have to tag using subversion directly.
Download code from svn Repo

$ svn checkout
$ svn cp

Leave a Reply

Your email address will not be published. Required fields are marked *