Thanks for the feedback, J.J. Here's what I currently do...
1. Backup -- I currently have a production server here at my studio in my home, hosting my own sites. I'm in the process of moving things over to a new VPS at AHPHosting with CF 8. For backup, I do two things... one, which is a type of versioning, is to simply save the entire folder with all assets, code, etc., with a date appended and then continue working on the project. That gives me a backup to move back to in case something goes wrong with the current project and is just too much to undo. Also, I have true backup of all project files/data to my FTP server. Which also, sends a copy of backed up files to my web server for redundancy. So I have 3 copies of everything at all times on different computers. 2. Versioning -- while I would like more granular versioning, appending the date/time to a complete project folder provides a type of versioning. What I would really like is to be able to undo a particular action while leaving other, perhaps later changes, intact. Say, I've made 10 changes. I'd like to go back to change 4 and revert that, but leave 5-10 untouched. That would be really helpful. Anything like that in Subversion? 3. Brand and tagging -- seems like what I do works similarly. If something is wrong with the deployed project. I just correct that (on the server...). Then back to work on updates on the development box. 4. Deployment of latest version -- copy the latest completed version to the server and overwrite the files. How would Subversion improve upon that? I use Homesite 5.5, btw.... Rick -----Original Message----- From: J.J. Merrick [mailto:[EMAIL PROTECTED] Sent: Sunday, October 07, 2007 8:59 PM To: CF-Talk Subject: Re: SOT: How do you version control with your CF code? Rick, I am a single developer and I always use subversion. It provides the following for me: 1. Ease of backup. - I have a dev server here at my house that I use as a repository and i use mozy pro to back that up online. I never have to worry about my dev laptop dying and losing precious code. 2. Versioning. I have countless times reverted a file when I have done something stupid and it is so nice to not ever have to worry about that. 3. Branch and tagging. "me: ::working on version 2.0:: client: I need to you fix something that is broken on the live server! me: ok:: switch to the trunk which is version 1.5, fix, deploy, switch back to v2.0 branch" no mess and no thought 4. Deployment: Deploying is a no brainer when you use SVN. J.J. On 10/7/07, Rick Faircloth <[EMAIL PROTECTED]> wrote: > Now, I can see how the versioning would be helpful, but other than that, > how would this extensive management system be beneficial to a solo > developer? > Or is it overkill? > > Rick > > -----Original Message----- > From: Eric Roberts [mailto:[EMAIL PROTECTED] > Sent: Sunday, October 07, 2007 11:53 AM > To: CF-Talk > Subject: RE: SOT: How do you version control with your CF code? > > Summing it up... > > You have a repository that contains your current code. Both the development > and live environments are "checked out" from the repository. When you > complete changes to a page, you commit the page. You then update the live > environment with the new code. Everyone who has checked out he code > should, at the start of each day...and potentially several times throughout > the day...run an update to pull current code from the repository to ensure > they have the current version of the page they are working on. I generally > do an update before I start working on a page. Now lets say you and I are > working on the same page and we both commit the page. Subversion will > detect this and notify that there is a conflict. It will then (depending on > the setting and how the code conflicts) either merge the files automatically > if there are no conflicts between the code...ie you changed line 5 and I > changed line 20 and everything else is the same...or notify that last > committer that there is a conflict and prompt you to manually do a diff and > reconcile the code. SVN also handles branches and tags. > > As far as all these checkouts, commits, updates, etc... > > There are several tools that can be used. You can do this via a > command-line interface. You can use a third party tool like TortoiseSVN > (another open source and free tool that is awesome...it interfaces with > windows and integrates into the drop down menus in explorer). The third > option is via plugins with your IDE. Both Eclipse and Dreamweaver have > plugins for SVN. Updates can also be achieved via automatic scripting. You > can set up a script that automatically updates your live environment each > time a file is committed to the repository (amongst many other automatic > functions that can be set up with scripting). > > I would learn the repository and how t works and then once you have it set > up the way you want, then worry about the automation. > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Enterprise web applications, build robust, secure scalable apps today - Try it now ColdFusion Today ColdFusion 8 beta - Build next generation apps Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290507 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4