I’ve been using version control for a long time. I’ve posted on the SVN mailing list and given talks advocating Git. Nowadays it seems the conversion to Git is widespread. It’s being used in corporate settings, but there’s a caveat – it’s still being treated as a centralized system. While folks have made the leap from traditional systems like SVN, they haven’t made the real leap to distributed version control. This has lead me to realize the subtle genius of github.com – they quietly direct you to use distributed workflows and make it as straightforward as possible.
Just about any software project these days is kept under version control. This enables developers to change the code collaboratively and section the code into different areas such as development and production. By the same token it would be nice to have some similar mechanism to coordinate schema and data changes to the project’s database; moreover a way to maintain different versions of the database would be a blessing! Database migrations are how these are typically handled. I’ve been using migrations libraries for years now and at this point have some things to say about them. Hopefully you’ll enjoy and learn some cool tricks along the way.
Rebasing in subversion is a topic that has become more popular with the rise of distributed version control systems. While there is some understanding of rebasing in the centralized version control community, I want to illustrate what a rebase is from the git perspective and discuss some of the advantages in hopes that svn users will walk away knowing more and perhaps even consider distributed version control more strongly.
Like many projects these days, there’s no need to build completely from scratch. Off-the-shelf Open Source applications like WordPress, have changed the landscape. Another situation we encountered with a client once was a code generation platform for PHP. These are fundamentally different things but the way they are managed via version control workflow are the same if you intend to make modifications to them.