While I love WordPress, its community, and its extensibility – I don’t like using Subversion (SVN) to publish and update plugins. It’s old software and the GUIs I used in the past were not intuitive – I always needed to find an article to help me figure out what I needed to do.
Years after I published my plugins to the WordPress plugin repository, I finally wanted to make updates – I basically forgot about the plugins after publishing them. As I no longer have access to a Windows or Apple computer, I only have my Linux laptop now – I found there are no free GUIs for SVN. It was time to finally learn to use SVN using the command line!
I won’t go over the basics, like folder structure or installing SVN, as there are a ton of articles and guidance out there. This is just my personal reminder for the commands needed for future plugin updates – this also works as is for brand new plugins that still need their first SVN upload.
First, we need to download and “initialize” the SVN repo on your machine. Go to a folder where you’d like your plugin files to be downloaded and use:
svn co https://plugins.svn.wordpress.org/your-plugin-slug/
This needs to be done just once.
After that’s all done, go into the folder that was created:
cd your-plugin-slug
Go ahead and make your changes to the trunk and tags folders. See a list of changed files using:
svn stat
From the output, “M” means modified and “?” means new.
Commit/save your changes using:
svn add --force trunk/* svn add --force tags/* svn add --force assets/*
Not using “–force” gives an error, so use it.
Lastly, push your changes to the WP repo and add your commit/log message:
svn --username=WPUSERNAME ci -m "Commit/log message"
Change WPUSERNAME to the username you use in WordPress.org and change the “Commit/log message” appropriately. It will prompt you for your WordPress.org password.
Done.
If it matters, am using Pop!_OS 20.04 LTS, which is based on Ubuntu 20.04 LTS.