Getting into Subversion as a CFML developer: Another Resource List
Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.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.
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.
For more content like this from Charlie Arehart:
Need more help with problems?
- Signup to get his blog posts by email:
- Follow his blog RSS feed
- View the rest of his blog posts
- View his blog posts on the Adobe CF portal
- If you may prefer direct help, rather than digging around here/elsewhere or via comments, he can help via his online consulting services
- See that page for more on how he can help a) over the web, safely and securely, b) usually very quickly, c) teaching you along the way, and d) with satisfaction guaranteed
On the client side I'd highly recommend SmartSVN (http://www.smartsvn....) as a great option over TortoiseSVN if you haven't tried it.
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.
Why We Moved to Subversion from Visual SourceSafe
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.
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.
I just cant seem to get this to work not matter how hard i try. Has anyone had any luck with this?
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.
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
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?
<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.
Setting up CFEclipse with Subversion (SVN)
including Continuous Testing with CFCUnit and Selenium
by John Mason FusionLink