More on Source Control and Visual Source Safe 2005

by Erik Lane 29. August 2006 16:33

A little while ago I mentioned that Team System doesn't use VSS 2005 and it has its own source control system.  I was reading a Devsource article titled SOS:  Save our Source and it mentions some of the not-so-good history of VSS 6.0 and then runs through the new features of VSS 2005.  Like most, I'm expecting VSS 2005 to be a small upgrade to the old VSS and nothing more.  For the most part, I'm right.  There are some new features that have been added:

The UI has been modernized, to be sure, and the maximum database size increased to 4GB, but there's also Unicode and XML support, the time zone problem is fixed (along with a bunch of other bugs), and you can use Visual Studio to connect to your VSS data store from anywhere you have http or https Web access. There are new automation features, and a new plug-in editor/viewer.

Hrm..a lot of cool things there huh?  I didn't get excited about it either.  The article even tells you that maybe VSS 2005 isn't for you (or me) since its designed for small teams that are local to each other.  As long as you stay within its limits you should be Ok.

That last sentence is my biggest issue with VSS.  If you stay within its limits it seems that you don't get much more than a history of your files.  To me, source control is so much more than that.  Source control is just that...it controls your source code.  Not just the history of the files and folders but also controls them.  By controlling them I'm mean managing who has them, who had them, who modified them, what file versions you have and what versions you need to get.  It should be able to handle branching/merging/labeling gracefully.

I know that source control is just a tool like your IDE or any other tool you use to be an efficient developer.  Your tool should help, not hinder, your coding.  How many projects have you been on where guys are afraid of the words branch and merge?  In the long run it probably was the best decision to make but was avoided like the plague.  A good source control tool should help you with that process and not keep you from it.  What about working in multiple versions of the same code where you have to keep updating each version just to stay in sync?  Your tool should help you with these types of merges and keep the process simple...not complex.

What tools help us with this and what are the best ones out there?  That's debatable.  I think as developers we need to embrace our source control tool as a "tool" in our toolbox and not just a place to "keep our code".  Start out by reading Eric Sink's great series Source Control HOWTO and then try and find little nuggets like keeping your branches in sync.  You probably need to read through Branching Patterns for Parallel Software Development as well.  That last one is a harder read since it is a white paper and reads like one but still has lots of good information.  Finally, I suggest that you go and get a copy of Vault or Subversion and install them at home.  Get them up and running and use this environment as a test bed for trying out new stuff.

Giddy Up!

Tags:

Tulsa Techfest 2006

by Erik Lane 28. August 2006 13:21

Looks like I'm going to head down to Tulsa in October for Tulsa Techfest 2006.  Looks like its going to be a pretty big one-day event.  I'm really looking forward to the presentations and see/meet guys whom I've only heard or read before.  If you're going, let me know and lets meet up.

A schedule hasn't been posted yet but these are the sessions I'm putting on my list:

Patterns and Anti-Patterns for Service-Oriented Architectures - Ron Jacobs
Continuous Integration - Raymond Lewallen
Testing Objects In Isolation TDD with Mock Objects - Jean-Paul (JP) Boodhoo
Test Driven Development With .Net A Primer - Jean-Paul (JP) Boodhoo
The Model View Presenter Design Pattern - Jean-Paul (JP) Boodhoo
Automate your User Acceptance Tests with FitNesse - Tim Gifford
Agile Project Experiences - Tim Gifford
Managing your Search Firm relationship - JJ Hurley, GDH Consulting
Managing Architectural Complexity - Rob Pierry, Geniant
HttpModules w/ ASP.NET by Jake Watkins

Hope to see you there.

Giddy Up!

Tags:

Cutting Teeth - Mock Objects

by Erik Lane 22. August 2006 16:27

This is something I've been meaning to use and Jean-Paul's post put the pressure on.  Plus, I really have an issue glaring at me in the face that I need to get rid of by using mock objects.  I'm working against a web service and all of my tests are written using the actual web service.  I see now that this is a total no-no.  When I began working with the web service I didn't know it very well and part of my tests were to verify the results being returned.  Now that I'm intimately familiar with it, I feel comfortable with implementing a mock object in its place.

I went looking around for examples and/or opinions on testing web services using TDD.  Almost all that I read were on testing a web service that you are writing - not a web service that you are using and dependent on.  If you are looking for that kind of info then this post by Peter Provost has you covered.

I just ran through the Quickstart and Tutorial over at NMock.org and I think I am armed and dangerous. 

As my brain is churning on what I could do and I think Jamie has the right idea by extracting an interface from the web service and then implementing it in my tests.  We shall see in the next day or so how this goes.  If it goes as I expect, I'll wonder how I ever got along without mock objects.

Tags:

Shiny New Blog Skin

by Erik Lane 21. August 2006 04:58

My wonderful wife has put together this new skin for me.  I think its awesome and she did a great job on it.  If you're reading this in an aggregator please click through and take a look-see.

Giddy Up!

Visual Studio.NET 2003 Service Pack 1

by Erik Lane 17. August 2006 14:47

For those of us still knee deep in 1.1.....SP1 for Visual Studio.NET 2003 is out.

 

Download Here

Tags:

CCNetConfig on Codeplex

by Erik Lane 17. August 2006 13:54

If you use CruiseControl.NET then you'll probably find this new tool on Codeplex very interesting.  Having a GUI to setup your CCNET stuff would be totally cool!  It's in an early alpha state right now but still something to watch.

 

CCNetConfig website and blog

CCNetConfig on Codeplex

Tags:

More Thoughts and Info on Source Control

by Erik Lane 15. August 2006 11:34

Jeff over at Coding Horror has some really good statistics and links on the topic of source control.  This topic really intrigues me a lot and he points out (which I agree) “that source control is fundamental to the practice of modern software development“.  I've been using Vault on my own, have used StartTeam and VSS at work and couldn't imagine working without it.  I've just installed Subversion so I can get a look at Subtext.  I don't like VSS but there are times where you use what you have and make the best of it.  That's just the way it is sometimes.

I'm glad I read the comments because I found out that Team System Source Control does not use VSS 2005.  I was under the impression that it did.  Very good to know.

Tags:

OdeToCode Goodness

by Erik Lane 11. August 2006 06:30

Scott Allen has couple of really good posts that I just had to share in case you don't read his blog.

7 Virtues for Software Developers - Just good things to remember on trying to become a good developer.  Spot on!

Dear Candidate - This one is just funny!  I laughed for a while.

 

Giddy Up!

Tags:

Sourcegear Vault 3.5 Released

by Erik Lane 6. August 2006 17:44

I guess I'm late to the party but SourceGear has released Vault 3.5.  Vault is a great tool and I really like using it...plus its free for one user which is perfect storing the code for side projects etc..

If you don't use source control much at work then you really should in your own work.  It will give you the experience you need to see how it can benefit you at work.  I'm talking about more than just "keeping a history" of your work.  If that's all you are interested in then just back up your work to another folder or drive...but your missing the point.

What I'm talking about is using a modern source control tool (non-VSS 6) to help you do your work.  Labeling, branching, merging, the whole 9 yards.  So many times things are done manually when it comes to updating code or moving certain versions of files, etc.. and it doesn't have to be.

Example:  Some guys I did a side project for about two years ago called up and asked me for the source code for the project I did for them.  Since then I've updated and modified that code for myself a few times and even moved states and computers in the process.  Oh, what am I to do?  Tell you what I did since I'm using Vault.  I looked up the project and viewed the labels I had on that specific project folder.  One was labeled with notes that it was the one I provided these guys.  So I just did a get on that label and BAM!  I had the full set of code needed to recreate their version of the project.  Took me about ten minutes.

This may not be something that you see yourself needing for your personal stuff.  However, if you've ever thought that could work at the office this gives you the perfect sandbox to try it out before you blow up code that signs your paycheck.

Giddy Up!

Tags: