[Looking for Charlie's main web site?]

Getting into Subversion as a CFML developer: Another Resource List

There's been a lot of buzz lately about Subversion (SVN), from articles to blogs to podcasts. Here are pointers to a about a dozen such key resources written from the CFML community perspective, for those interested in checking it out. A colleague expressed interest in it and I started gathering these for him, so I figured I'd share it with everyone.

I'm not sure I want to create a "compendium" like I did for Spry, with the care and feeding I've given that so far. Clearly, this entry's links could grow dated over time, or could use new additions. Please add updates in the comments below. Let me know if you find this helpful.


First, I'll note that there was a CFDJ article in April, "Version Control Using Subversion in ColdFusion".


Also, Matt and Pete did a a whole episode of the ColdFusion Weekly Podcast on version control, and included considerable (and glowing) discussion of Subversion. Go to the archive page and find show 1.6beta from May 1, 2006.


Pete also has done a presentation on the topic for a few user groups, and at least one recording of it is available from his presentation to the online CF user group.

Cameron Childress has done a presentation on it, and shared it and some other thoughts in a couple of blog entries.

Shlomy Gantz did one at CFUnited as well, and is offering it on his blog.

Blog Entries

Pete Frietag has done several SVN blog entries, indeed so many that he has a subversion category to help easily find them all...

...as has Rob Gonda. Thanks to both of you.

Ray Camden did a couple of blog entries as well, and there are various some very useful comments from the community in those, including discussions of Eclipse and Trak integration. The latter entry also has some nice info in a comment on 6/26/06 from Adam Cameron.

And Joe Rinehart did an entry that explains his use of it with regard to MG, with some tips and a related Ant script.

Finally, Nick Tong also has put together a similar list of links he'd found.

I could go on, but that should be enough to get you started in what the CFML community thinks about it. Note as well that several open source CFML projects use SVN.

General Interest Windows Installation tips

Many of the above also point to the popular, "Mere-Moments Guide to installing a Subversion server on Windows", which was written to help make it easier to understand and install all the parts for Windows users.

Some good news is that, as useful as that is for understanding things, it was supplanted by the "Less-Than-Mere-Moments Subversion Installer", which is a one-click installer that makes configuration drop-dead simple.

Unfortunately, as you'll see in a comment on that last blog entry, I had a bug which you can avoid by not doing what I did. :-)

While Adam's comment in the aforementioned blog is right that there is a single installer already available from the main SVN site, the "mere moments" ones try to do more than just install it, but also help you configure it.

Here's yet another Windows installation assistance tutorial.

Understanding the need for server versus client components

I think it's worth noting that there are two aspects of using SVN: one is setting up the server component so that you or others can create repositories, and the other is setting up the client components so that you can merely access or edit code that is stored in such a repository.

Some of the resources above (from info to installers) may focus on and assume you're interested in the former (or both together).

If you just want to use someone's existing repository, then you don't need to install the server component. You just need a client, and the most popular seem to be either TortoiseSVN (which plugs into the Windows Explorer) or SubEclipse (which is an add in for Eclipse).

And in conclusion, if you need more insight into the general concept of revision control, see the Wikipedia entry.

Just FWI to those who may have read the original post from 2 days ago: I've updated the entry to add the final section above, on client versus server components.
# Posted By Charlie Arehart | 7/15/06 3:05 AM
Hey Charlie,

On the client side I'd highly recommend SmartSVN (http://www.smartsvn....) as a great option over TortoiseSVN if you haven't tried it.
# Posted By Andy Wu | 7/15/06 1:52 PM
Thanks so much, Andy. I appreciate that additional insight and hope it will help others. I'll look into it as well. Cheers.
# Posted By charlie arehart | 7/16/06 1:03 PM
Goodness, one critical resource I didn't mention is the great book, Pragmatic Version Control Using Subversion. I've only read about 20% of it so far, but how very useful. If you've previously used another version control system, it helps bridge the gap, and if you've not used any, it gently introduces you and your team to key points and valuable tips. Highly recommended.

Indeed, until I create a full new blog entry on the book or SVN in general, here's one of many valueable tips I found.

If you want to configure SVN to use authentication security (for who may access what in the repository), while it has a simple username/password mechanism built-in, you may prefer to integrate it with Windows Authentication, LDAP and so on. The book indicates that the Apache integration is the key to that. Yes, I realize that Windows users may prefer to integrate with IIS. Still, if the tool leverages built-in features of Apache so easily, and since you certainly can install Apache alongside IIS (on different ports or using different host names), it would be worth it even if only used for SVN access. Something to think about.
# Posted By Charlie Arehart | 7/24/06 12:01 AM
Joe Danziger today posted a blog entry, "Setting up SVN in an Instant". Very nice.

# Posted By Charlie Arehart | 8/10/06 12:41 AM
Here are a couple other interesting articles:

Why We Moved to Subversion from Visual SourceSafe
# Posted By Charlie Arehart | 8/10/06 1:56 PM
Charlie you last comments with links to "Why Subversion Stinks" are not relevant. The date on those posts are from 2004. and have all been addressed.

Nice listing of resources . I don't have the link with me now , but Trac has some good resources on setup too since it uses SVN.

At one point I had a Win/Apache doc there (cant find now) how to setup multiple SVN projects with user friendly urls , that could be accessed via WebDav and svn protocol.

Also for you Dreamweaver users out there v.8 when used with the WEBDav connection will update the locks on files. MX2004 requires a manual refresh of the file list. Unfortunately no way to add comments.
# Posted By kevin marino | 8/11/06 2:33 PM
Awesome. Thanks. You know, I just added those last night, and I left them in the comments (rather than udpate the actual entry) because I had my doubts about how relevant they still were. In fact, literally, as I submitted the comments, I thought, "oh crap, I meant to say that one reason the list could be no longer online is it could be dated. Or even if that's not the reason, it could still be dated."

So thanks for clarifying this for me/us.

In fact, I just found a page that links to it (didn't think to try it yesterday since the page was failing) and find one here:


Note that it's from 2004(!) and says what you do, further noting that that the "only thing remaining was branching", which now it clearly has. So, yes, I think most could ignore the post (though some may still be having a hard time doing merging rather than locking, but that's more a philisophical point that other sites I've listed do try to help you with.

Anyway, thanks for the kind regards and the additional info on DWMX.
# Posted By Charlie Arehart | 8/11/06 3:25 PM
One thing i've searched high and low for is a working post-commit script to update the live webserver directory after commits.

I just cant seem to get this to work not matter how hard i try. Has anyone had any luck with this?
# Posted By Jeff | 8/24/06 11:35 PM

Are you on Windows platform. If so here is a basic script which will update the webserver. The first thing you need to do though is make the website a checked out version. This is key to making this work.

CD C:\

put this in a file called post-commit.bat in the hooks directory of the repository. Basically you are running command line of SVN. Also if command line runs but nothing happens you may need to do the checked out version differently. Make sure you logon to webserver and and do check out from there.

Hope that helps
# Posted By Kevin Marino | 8/25/06 5:47 AM
This blog entry is a great resource.

I appreciate that you distinguish server versus client environments. There are a lot of articles related to the installation of subversion and the clients. We are looking at implementing subversion within my organization. The big question we have is how to implement our development environment to support multiple developers. I have heard of two options:

1. Setup individual development environments (coldfusion servers and such) on the developers' machines/laptops.
2. Setup a central coldfusion server with multiple instances (one per developer) and a directory tree to support it.

How are multi-developer groups implementing their coldfusion environments with subversion?
Any tricks or best practices out there?


# Posted By Leslie Sherman | 5/17/07 5:10 PM
I've posted some thoughts and sample code on getting subversion setup on the server side of an apache/unix environment.

<a href="http://www.usercore....">Using Subversion Part 1 - Build Subversion Repository with Apache htaccess authentication</a>


<a href="http://www.usercore....">Using Subversion Part 2 - Auto Publish a Subversion commit</a>

Hope someone finds this helpful. I'm happy to field specific questions via comments over on usercore.com.

# Posted By Matt MacDougall | 5/26/07 12:29 AM
I'll point out another resource for this list:

Setting up CFEclipse with Subversion (SVN)
including Continuous Testing with CFCUnit and Selenium
by John Mason FusionLink
# Posted By Charlie Arehart | 2/6/08 8:33 PM
BlogCFC was created by Raymond Camden. This blog is running version 5.005. (Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting