CVS for the Actionscripter
I’m sure many of you multimedia developers out there know the phrase “save early, save often”. I learned from my early days working with Director to not only do that, but to save as a new version every time I made a serious change. As a Flash developer, I’ve found that dealing with multiple FLA’s and corresponding AS files can get rather unwieldy. I assure you, there’s a better way!
Browsing through Sourceforge and other open source software sites, I’d always heard the term CVS. At first, I thought it was only a tool for serious programmers, and that it would be as unusable to the non-programmer as most open source software is.
What CVS is is a system that creates a repository for your code, where you commit new versions of your codebase. Each version of a particular file is saved in history, and (ASCII source code) can be retrieved and compared to your latest version.
I was sort of forced into using CVS at my job. CVS was originally conceived to allow many programmers to work on a single codebase without overwriting eachother’s code. I was told to download and install WinCVS. Even with the GUI it was very difficult for me to understand. I frantically started searching for a more intuitive program that would allow me to use CVS without having to learn how to use any new software.
Enter TortoiseCVS. This wonderful program enhances your Windows Explorer with icon overlays so you can see the status of your files, and adds menus to your context menu so that you can commit files, update, view revision history, and many other CVS-related tasks.
Tortoise CVS, combined with an application like Winmerge, will give you powerful tools to organize and track your development process. With Winmerge, you can compare your AS files line by line and merge the differences when necessary.
Even if you are a single Flash developer, these tools can help you to stay organized and to “roll back” changes when necessary. I know many a time I’ve painted myself into a corner and couldn’t find a problem for hours, or gotten lost in a mess of old AS and FLA files, or just ended up with a certain combination of actionscript and vectors that made Flash go wiggy. With CVS, you’ll only ever see the latest source in your working directory — you can keep things neat and tidy.
If you’re working alone, it’s so simple to use once you’ve created your initial repository. Just add the files you want to track, commit them, and then continue to commit each time you get some piece of your code working. If you ever need to go back, you can diff against yor working version, and merge in your old code. You can even tag your entire directory to take a snapshot of beta versions of your code, or branch your codebase if you want to work on two versions at the same time.
I hope you’ll learn to love TortoiseCVS as much as I do… enjoy!


