Robert Iseley (@unclhos) is one of our early adopters and he caught our attention as he and his team have been using VersionPress for advanced workflows long before they were officially supported. I asked Robert if he could sum up his experience and describe the workflows that they use in his team. Here it is:
My real world experience of VersionPress (2.2) as a developer
As a developer I had never really used a version control system other than when pushing to the wordpress central repository. Working with a small team, I finally got fed up with not knowing who changed what and exactly what was changed. I have been experienced at working locally already for my development. The annoying part about working locally is the database. I had found no good way up to this point to keep the different locations in sync. So when I finally started using GIT, I thought, there has to be something like this for databases. That’s when I found VersionPress.
VersionPress still being in its early access program I knew there would be a few wrinkles in using it. So I put off even testing it after I got my copy. Looking back, there was no need to wait. With some use of GIT hooks, I am now able to run development sites in 3-4 locations without having other peoples work overwritten like when we were using FTP. :O The biggest annoyance I’ve had, working in multiple locations, were widgets that reference a post ID (think custom menu widget) and plugins that put some kind of a timestamp into the options table. The menus would disappear because of different ID’s and the timestamps would cause merge conflicts you had to deal with manually. But the best part, the database are all “exactly” the same too, all with a simple “git push” command.
To get these locations database to match up automatically I used the GIT hook “post-receive”. In there I use the coolest VersionPress command for WP-CLI, “wp vp apply-changes”. This command does all the voodoo behind the scenes to get your database looking exactly the same as your other locations.
I really believe this plugins will be huge among developers and regular everyday users.