Synchronizing updates between the two repositories.

1. Clone the GitHub Repo

SSH

$ git clone git@github.com:Praison/seo-wordpress.git

HTTPS

$ git clone https://github.com/Praison/seo-wordpress.git

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 https://plugins.svn.wordpress.org/seo-wordpress/ --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 https://plugins.svn.wordpress.org/stop-web-crawlers/
$ svn cp https://plugins.svn.wordpress.org/stop-web-crawlers/trunk https://plugins.svn.wordpress.org/stop-web-crawlers/tags/1.3.1

LEAVE A REPLY

Please enter your comment!
Please enter your name here