Version Control

It's been a while since I posted... I'll try to do better :)

In the meantime, what questions do you have about Visual Studio Team System Version Control? 

I have one: Do you get the changeset model? I don't claim to be an expert in every version control solution out there, but I gather that many folks don't quite understand what a changeset is. Basically, a changeset is a collection of changes. In VSTS, when you check out files, you build up a pending list of changes on your local machine. Think of it as a basket containing all your library books. When you're ready to commit the changes, you check them in (e.g. return the basket of books). Each time you commit a changeset, the entire collection of changes gets assigned a new unique changeset number.

The important point is that until you commit the changes, they're in a <i>pending</i> state on your local machine. The server knows you have a pending edit, rename, delete, etc. and other users can issue the <b>status</b> command to see your pending changes. Other users can also check out the files (assuming you haven't locked them) and pend their own changes. If multiple people have the same file checked out, the first person to check in wins. Subsequent check-ins of the same file may be subject to merge conflict resolution (See Chris's blog for great insights on that).

If you have questions about how this works, please ask. 

cheers!