Clarification on the VSTS checkin/out process

I spoke with Barry Gervin after the presentation to clarify the concerns that I had during the session this morning.

When you are working in any environment and you are starting a new work (coding) task you should begin it by working from the most recent version of the code that is available at the time that you are starting. The primary reason for this is to minimize the amount of merging that you will have to do when you are ready to check in the code changes associated with your task. This is no different if you are working with VSS, VSTS or any other product.

Once you have this foundation for change you begin by checking out the files that you need. You may work with these files for a day, a week or an hour but most often you end up needing to checkout a file some time after you have started. This is where problems can crop up in VSS (I’m not sure about other products as I’m less experienced with them). When you go to check out that subsequent file it may have been altered and checked in since you started working on your task. If it has been altered, VSS will get you the latest version of said file as you are checking it out. This is the problem. Now you are no longer working with the stable, working version of code that you had when originally started to work on your task. To guarantee that you have a stable, working version you must, at a minimum, get the latest version of the affected assembly. By doing this you’ve now started an integration testing exercise on your code, which is not at this point in time is neither complete nor ready for integration.

What VSTS provides you with is the ability to check out this new file that you need to modify without having to get the latest version of the file. No latest version == no integration worries. Instead, you potentially have to worry about merging the code changes that you are making, but only when you are ready to.

After thinking this through, it does make a lot of sense. I’m still unsure about extensive merging during check-ins, but that’s another discussion.

Damn I wish that Mad Mexican was around right now to run rampant on all the damn people making a racket around me. Why do people have to compete to be heard in a crowd?