Tuesday, February 19, 2008

Cincinnati Users Group and the Version Control Panel

Well I just finished up being part of the Source Control Panel at the Cincinnati Users Group.

I was very enjoyable. I think I did a fine job representing Subversion. Those of you that read my blog know that I got a good understanding of the system and methodology.

For those that are interested, I tend to tag allot of my research

Actually, I was quite surprised there weren't more questions about "Version Control Best Practices," "Branching Options," and "Database Versioning"

At the end there was much discussion about the "additional features" of TFS. I thought that was a bit unfair to SVN. SVN was designed to be nothing more then Version Control. Do one thing, and one thing well, right?

<PersonalOpinion>

Sure SVN doesn't have the "baked in" features like TFS does (and I'll admit TFS' integration is awesome) but with a few extra steps you can have work item tracking with trac. If you want Continual Integration you can always run CI Factory. If you want a better repo viewing experience you can install Fisheye. If you want code review you can run Crucible. With Subversion you have so many options.

Actually, I think being able to "choose" which tools you want to mix and match is a huge perk of using SVN. However, you do have to write the "glue" that holds it all together.

</PersonalOpinion>

All in all I had a really great time. There were a flurry of good questions and conversation. In the end, I just hope I helped someone learn something.

Remember,

Any version control is better then no version control.

P.S. If you have any additional questions about version control, ask away. I would be happy to address them.

2 comments:

  1. You did a fine job, Justin. I'm with you on Subversion and the entire open source "toolkit" to choose from.

    ReplyDelete
  2. Oh, we should have brought up the options for SVN. Sure they aren't baked into the product, but that's not a reason to rule it out.

    Thanks for speaking Justin!

    ReplyDelete