Subversion for webmasters
Subversion, the version control system, seems to offer many benefits to teams working in collaboration on web projects.
However, when the excitement of using a ‘time machine’ to manage your web scripts dies down you are faced with the prospect of putting it into practice and a number of questions arise.
Where’s the instruction book for Webmaster’s who use Subversion?
Because Subversion is not focused on controlling any specific type of file or project - the Subversion instruction book does not really touch upon using Subversion to manage websites.
There have probably been many threads discussing the topic of using Subversion to run websites / multiple website - but it can sometimes take a lot of effort to dig them out.
Here are some resources that touch upon this topic - they may be pieced together to get some idea of how it is possible to use Subversion for managing website projects.
(Please add more weblinks and references to books to help us webmasters get the most out of Subversion) :
- FAQ On Tigris website: I’m managing a website in my repository. How can I make the live site automatically update after every commit?
- Installing Subversion on a PLESK server
http://alexle.net/archives/138 - Using SVN for Web Development - good ‘ol SitePoint
http://www.sitepoint.com/blogs/2006/02/07/using-svn-for-web-development/ An extension that enables the Tortoise SVN client within Dreameaver
http://www.nearlygeek.com/tools/subversion-for-dreamweaver/introduction/
(UPDATE: Neerly Geek has disappeared! - We will miss you)
The ‘Neerly Geek baton’ has been picked up by jccommerce.com
http://www.jccommerce.com/2007/07/05/get-subversion-for-dreamweaver-svn4dw-extension-here/
(UPDATE 15th August 2008
Now the jccommerce.com link is dead too! - that SVN client seems to be cursed!
Thanks for the tip Joel)- A complimentary extension that tells Dreamweaver to cloak SVN files from upload and download operations
http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1018603 - Tutorial on how to hide your SVN folders from public view using Apache Directives (i.e. those SVN folders that reside on your server’s public html folder)
http://www.ducea.com/2006/08/11/apache-tips-tricks-deny-access-to-some-folders/ - Tools for Writing Better PHP Code - Version Control with Subversion
http://www.nyphp.org/content/presentations/svn/ - Although not geared towards webmasters, the book Pragmatic Version Control Using Subversion is the best source of information that I have found on how to actually mange the work flow of a subversion project in the real World. If only they could release a similar book for web masters as opposed to Java developers, hint hint.
- I have also stumbled accross a book called: “The PEAR Installer Manifesto: Revolutionizing PHP Application Development and Deployment (Paperback) “. I have not read that book, but apparently the write-up on Amazon says “The synergy of the PEAR Installer and a revision control system like CVS or Subversion is also explored in depth. ” So it may be of some use. No customer reviews though - so I don’t know much about it.
Perhaps I’m asking for too much - am I wanting to have my “cake and eat it” by being reluctant to change my working practices AND expecting the benefits of using version control. Things I’m pondering:
- Do I have to start treating my websites more like traditional software projects to fit in to the way of Subversion?
Currently, I don’t think of my websites as projects that have regular releases. They are more of a progression. - How can I manage database content and schemas under Subversion?
- What will my workflow be like?
After a change to a piece of HTML on my local copy. Instead of just uploading that to the server, should I update my repository, thencheck outthat repository to the web server - (where the web server is a working copy in itself). If that is the case:- How can this be done?
- Do I have to login via SSH on the server and do an
svn check outfrom there? - Could I set up a bash script on the server that is triggered by an online admin’s control panel action.
- Am I missing something here?
- What about setting the chmods of special files and folders.
Or should I go for a much simpler solution and treat the repository like a backup system, which never outputs to the server and just records the project as the
svn commitsoccur.
November 5th, 2008 at 10:06 pm
There is a new extension for SVN - DW integration hosted here: http://code.google.com/p/subweaver/
Open source too! So you don’t have to worry about it going away.