What sort of version control system do you use?

The sheer number of Flash projects, cheap developers and updates our company handles these days has become worrisome to me, and I’m in the market for a good version control system now.

I may be fooling myself, but I imagine most Flash developers do not use a separate version-control system to maintain their projects on a regular basis. If you do, I’d love to hear from you.

I’ve always leaned toward open-source solutions when possible, and I’ve used CVS (Concurrent Versioning System) for many Perl, Java and HTML projects in the past. I’d love to stick with it, but I’m not too sure how well it integrates into the usual Flash workflow (or for that matter, I don’t really know what the “usual” Flash workflow even is!).

If you think CVS will work, great — let me know, and give me an idea of what I’m facing here. If not, why not? And what would you suggest?

Thanks, and I look forward to hearing your ideas and experiences.


7 thoughts on “What sort of version control system do you use?”

  1. Subversion along with TortoiseSVN is the best source control software I’ve used. THe only issue I’ve had with it is that you sometimes get conflicts in your binary files (fla’s). But it also supports getting locks (checking out) and TortoiseMerge is really handy for merging those as files.

    Reply: I’ve been looking at Subversion, and the old TortoiseCVS was always a favorite in the past. When you get “conflicts in your binary files,” though, what happens? I.e., is there an easy way to resolve such conflicts? Thanks!

  2. I’ve used VSS and CVS both with mixed results. VSS does not play very nice with Flash. I’ve had lots of trouble trying to get it to check out SWF files so that they can be recompiled. I usually end up deleting them from source control all together (defeating the purpose of source control). I’ve had pretty good results with CVS. As long as everything major is maintained in external class files, CVS is very workable solution.

  3. Remember too that subversion allows you to version binary content, not just text files, whereas I don’t believe cvs will. So with subversion, you could not only index the actionscript and class files, but also .fla’s and .swfs and any other media content you may have such as mp3’s or video files.

  4. The algorigthm that SubVersion uses to compare files and directories is much better (faster) than the on CVS uses.

  5. Actually, both SVN and CVS allow binary data, though SVN supposedly handles it better on the back end. But to the user it’s the same: If two people make changes to a binary file and try to commit it, whoever commits first wins, and the guy committing second has to merge them manually. Generally, we try to make sure only one person is working on a .fla at a time. but when we do have to merge, it usually means opening up your version of the .fla, and their version of the .fla, and copying all your changes into the other one, then committing it.

    If you are starting fresh, you probably should pick SVN over CVS, it seems to be the successor to CVS.

  6. I used for a long time CVS, and manual versioning of FLA
    blah_v1.0.fla, blah_v1.1.fla etc..
    (yes CVS can handdle binary but it’s too slow!)

    I use SVN now, and I will never switch back!

    And for people having problem with binaries in SVN,
    just lock the file, edit it, then unlock it.

    If you want to have a good introduction to Subversion
    just go read the SVN book here:

    And if your goal is to manage projects based on version control, use Trac http://www.edgewall.com/trac/, Trac+SVN rocks :).

Leave a Reply

Your email address will not be published. Required fields are marked *