[support] Best version control practices

David Christensen dpchrist at holgerdanske.com
Fri May 28 17:18:22 UTC 2010


Ari Davidow wrote:
> Yes, that is a beautiful explanation of git. I am still trying to
> think about the best way to deal with drupal configuration issues, to
> note module dependencies, and to deal with the fact that in a cms
> database, because of all of the auto-numbering dependencies, we have a
> model where we have successfully merged content and code--exactly
> where we didn't mean to be ;-). This may all clarify as I move
> forward.

I couldn't figure out a good answer to the question either -- "How do 
you do version control and concurrent operation/ development/ testing on 
a Drupal site?".


I became acutely aware of Drupal's version control/ concurrent 
development problems when I migrated from 5.x to 6.x.  After several 
attempts, I ended up with the following process: back-up and check-in 
the production site, check-out and restore on a development server, 
figure out how to upgrade on the development server (uninstall modules, 
upgrade code and data to latest 5.x, fix database issues I likely 
created, back-up code and data, do a fresh install of 6.x, restore and 
upgrade data, back-up code and data, and forget about additional modules 
and their data), take the production site off-line (via htdocs link), 
repeat all the upgrade work on the production site, test, back-up, 
check-in, and put the production site online.  It was tedious and 
time-consuming.  I had to sacrifice functionality and associated data to 
succeed.  (Fortunately, I didn't have much non-Core content in the first 
place.)



I view these version control/ concurrent development problems as a 
fundamental architectural flaw in Drupal.  I suspect that the solution 
will require a utility for merging concurrent edits to the database, 
preserving referential integrity and accounting for code/ data 
structure/ schema versions.  It's a non-trivial task, to say the least. 
  Until this problem is solved, I will continue to run Drupal 6.x pretty 
much OOTB (with only the Core and Backup and Migrate modules).


I would be curious to learn of other CMS's that get it right.


HTH,

David


More information about the support mailing list