At 1/20/13 03:07 AM, Diki wrote:
I've never used Drupal before, so what about it stops you from just re-uploading all the latest commits of the files that the customer dicked around with?
Everything in Drupal is stored in the database (except for image files, Drupal modules, css, template files, and js). That being said, unless new image files are uploaded, css/js has been changed, or new template files have been written then there's no real purpose for Subversion (or any other source control for that matter). The only solution to this would be to do a MySQL dump of the Drupal DB would need to be done on a daily basis. I guess you could use subversion to control the changes made to the database by tracking it through the SQL dumps, but I don't see the purpose in that.
That's why I'm an advocate of taking away all permissions from clients. Then, only enabling permissions that are necessary to the people necessary. No more, no less. That's why, with my employer, I advocate the idea of an "intermediate CMS," which is basically a page that has only the necessary administration links/processes necessary for the client to feel like they're managing their own website. The least amount of work that I have to do in the future the better.
So, in my opinion, source control should be used only when changes are done to files in the physical structure of the web directory. The "revision" number should be rather small (as I only need to check things in once a day. We're responsible for entire sites, so its not like anyone elses hands are in the barrel for these sites). Daily backups of the MySQL database should be done. Other than that, I don't know what else to do as my employer doesn't actively backup sites. They use Subversion minimally. MySQL dumps are not setup in the chron at all.