Updating wordpress plugin subversion

Our WordPress plugin Stop Web Crawlers is available for download from WordPress.org plugin.  We are currently learning and refining everything our approach to listing our products on this amazing directory.

We’re having to integrate a number of our own internal tools and processes to adapt to include the WordPress.org tools.  We have previously posted about integrating Git, GitHub and subversion into the plug-in software development lifecycle.

We have also had to become familiar with the finer workings of subversion, due our version control system of choice internally is Git. However, we need to understand how to create branches and tags in subversion in order to create updates for plug-ins.

This post just discusses the steps required to update a plug-in using the terminal based subversion client.  You will need to ensure you have installed subversion on your mac using the homebrew package manager


Clone your subversion repository

[pastacode manual=”svn%20co%20https%3A%2F%2Fplugins.svn.wordpress.org%2Fstop-web-crawlers%2F%0D%0A” provider=”manual” lang=”sh”/]

Now change into the trunk directory

[pastacode manual=”cd%20stop-web-crawlers%2Ftrunk” provider=”manual” lang=”sh”/]

Our main development branch will always be within GitHub, and developers will largely follow the process as defined Git, GitHub and Subversion workflow. However, once it comes to managing the releases we still at this stage prefer to do the tagging and updating within subversion.

So the first part of the process of creating a release is to first update the readme.txt with the updated version number.

[pastacode manual=”%3D%3D%3D%20Stop%20Web%20Crawlers%20%3D%3D%3D%0D%0AContributors%3A%20Gary%20Woodfine%0D%0ADonate%20link%3A%20https%3A%2F%2Fthreenine.co.uk%0D%0ALicense%3A%20GPLv3%0D%0ALicense%20URI%3A%20http%3A%2F%2Fwww.gnu.org%2Flicenses%2Fgpl.html%0D%0ATags%3A%20block%20bot%2C%20block%20bots%2C%20block%20bad%20bots%2C%20stop%20bot%2C%20stop%20bots%2C%20stop%20bad%20bots%2C%20stop%20web%20crawlers%2C%20web%20crawlers%0D%0ATested%20up%20to%3A%204.5%0D%0AStable%20tag%3A%201.0.4%20%20%20%20%3C–%20We%20update%20the%20version%20here%0D%0A” provider=”manual” lang=”php”/]

And then we update the version number in main plugin PHP file i.e. stop-web-crawlers.php

[pastacode manual=”%2F*%0D%0A%20Plugin%20Name%3A%20Stop%20Web%20Crawlers%0D%0A%20Plugin%20URI%3A%20https%3A%2F%2Fthreenine.co.uk%2Fproduct%2Fstop-web-crawlers%2F%0D%0A%20Description%3A%20Blocks%20traffic%20referrer%20spam%20bots%0D%0A%20Version%3A%201.0.4%20%20%20%3C–%20Update%20the%20version%20number%20here%0D%0A%20Author%3A%20Three%20Nine%20Consulting%0D%0A%20Author%20URI%3A%20https%3A%2F%2Fthreenine.co.uk%0D%0A%20License%3A%20GPLv2%20or%20later%0D%0A%20*%2F” provider=”manual” lang=”php”/]

Once we are confident that the plugins passes all tests and Quality is assured, we create a new tag version and copy the contents of trunk into the tag.

[pastacode manual=”svn%20cp%20trunk%20tags%2F1.0.4″ provider=”manual” lang=”sh”/]

We then commit this new version to subversion

[pastacode manual=”svn%20ci%20-m%20%22tagging%20version%201.0.4%22″ provider=”manual” lang=”php”/]

We then wait approximately 15 minutes and the new version will be available for download from the WordPress.org directory and all exisiting users will be notified that they need to update the plugin.

Follow Me