Applying specific patches to WordPress between versionsEdit
The last WordPress upgrade (to version 2.1) introduced a major bug that rendered the "Manage -> Posts" section of the administration interface inoperable.
The fix for the 2.1 branch is here.
To apply this fix I put the patch in a file ~/wp-patch.diff and executed the following:
# check current status of install
cd path_to_wordpress_install
svn info
# apply the patch
sudo -u user_that_apache_runs_as patch -b -p3 < ~/wp-patch.diff
# inspect patch results
svn diff
# remove the backup files
cd wp-includes
sudo rm cache.php.orig version.php.orig
I passed the -b switch to patch so that backups of the files would be made before making changes to the files, but given that I am using a Subversion-based install I could have just as easily reverted using svn revert in the event that the patching didn’t work out.
The -p3 switch tells patch to strip three levels (/, branches/ and 2.1/) from the absolute path names (such as /branches/2.1/wp-includes/cache.php) in the patch file.
When the time for the next upgrade comes around I am not sure if the svn switch will work given that I’ll already have local changes. I may have to run svn revert beforehand, or manually resolve conflicts. (Update: I manually resolved the conflicts; see "Upgrading from WordPress 2.1 to 2.1.1 using Subversion".)