Ask a Jedi: What Source Control Do You Use?
A reader asks:
Ray, I assume you use some type of versioning / revision control system. What do you use? I have tried Subversion (which felt very cumbersome) and Eclipse's automatic change log (which is perfect, but I don't think it works for multiple people) Can you enlighten us as to what you use and why?
There are a couple of answers to this. As a 'corporate' decision, Mindseye uses Microsoft Visual Source Safe. I've used that for my personal projects in the past and it is very, very easy. However, it's also hasn't been updated in years (although I believe the new Visual Studio.Net has an updated version). I've also heard of people having problems with VSS data simply blowing up and not being restorable. At Mindseye, we haven't seen that. Another drawback to VSS is that it doesn't work over the internet unless use a mapped drive over VPN. However - that can be extremely slow. To get around that, we use SourceOffSite by SourceGear. This is basically a VSS wrapper for the net. It works very well. In fact, I typically tell the engineers in my department to use SOS even when they are in the office.
So - that's work. At home, I use Subversion and TortoiseSVN. TortoiseSVN simply adds Explorer integration with Subversion. I will agree with you that SVN isn't the simplest thing to use - at first. Give it some time. To be honest, I've barely scratched the surface of SVN. I simply use it to version my files. It is also handy to help me keep track of what files have changed in my projects. I'll be honest with you. I've never read much of the documentation for SVN. I use the Quick Start guide to setup projects since I always forget the exact process.
I also use the Eclipse built-in versioning system. It is something I would have loved to have seen in the late-great HomeSite+.
Comments
"The Book" (http://svnbook.red-bean.com/) seems very good, although I've not read a lot of it. Additionally, Cameron Childress has a great presentation on using Subversion with CF (http://www.sumoc.com/blog/index.cfm?mode=entry&...).
I've also recently come across Trac (http://www.edgewall.com/trac/) which is an integrated SCM/project management system/wiki/issue tracker which uses Subversion for its SCM component. It looks promising, I just need to get a box at home I can install it on.
what do you recommend for Mac OS X users? We are currently looking at CVS and Eclipse for our developers, which all are OS X users. What are your recommendations?
FYI, there's an SVN plugin for Eclipse which will allow you to commit, update, etc. from within the IDE. Works very well for me.
http://blogs.ichameleongroup.com/robGonda/index.cf...
We have a 5 person development team if that helps. None of us have used any source control before.
I've used Seapine Surround with great success. It has a Dreamweaver plugin (although I haven't actually used it)
http://www.seapine.com/surroundscm.html
I've also used Perforce (free for up to two users if memory serves me), but do not know it as well as surround.
I have been using Tortoise CVS and Tortoise SVN for a while now and becuase of their windows explorer integration you can use them from "within" pretty much any application.
For instance, I mostly code in Editplus (a notepad replacement) and whenever I need to check-in/out/commit a file I just pop open the "Open File Dialog" and I can right click on the file(s) I need to make a change to, use the Tortoise menu option, and everything happens right there. I then close the open file dialog and go right back to what I was editing.
I'm sure this same method would work fine in Dreamweaver.
As others have said SVN is pretty easy to setup. I would recommend SVN over CVS in the long run becuase it supports a few featuers CVS doesn't (such as file renaming and having that propogate into the version history).
Personally using Apache and doing HTTP is the best. If anybody has questions or would like a copy of an Apache config file more than happy to help. The listed link for 30min setup is good though is limited. As FYI in Dreamweaver you will used WebDav, and it works, but you lose the commenting feature of SVN that you get in the Eclipse plugin and TortoiseSVN. Also, HIGHLY RECOMMEND having alternate methods of check in/out of SVN. That is install Tortoise as backup to Eclipse plugin and DW Webdav.
You can contact me at kmarino"do not spam"attach.net (ya know what to replace :) )
Stand alone GUI:
svnX - http://www.lachoseinteractive.net/en/community/sub...
smartSVN - http://www.smartcvs.com (url is not a typo!)
There is a plugin for Dreamweaver (http://www.grafxsoftware.com/) but currently it only works for Windows versions.
Server:
Don't use fink or anyone else's prebuilt packages. Most have issues in some form or another. Do you your own builds of Apache (note you must use Apache2) and Subversion.
Building your own is not as hard as it sounds. There are some good instructions out there and read the readme.txt files with Apache and Subversion. When building your Subversion install, use the '--with-apxs=/pathToApacheAPXS' option.
Make sure your repository is using FSFS (fuzz fuzz) and not the Berkley Database. If you use Berkley, you'll never be able to migrate it to another platform (Windows, Linux, Unix, etc.) if you need to. Subervsion 1.2 uses FSFS as the default (another reason not to use fink or anyone else's prebuilt packages as they are all still 1.1 and Berkley is the default).

