VSTS2010 CTP11: A bit of history…

Hi again,

I’m still working through the Source Control of the October CTP of Visual Studio 2010.
I guess now is the time to see if there are improvements concerning versioning.

I’m still working on the multi branches Team Project I created in previous posts.

Let’s see the history on the Form1.Designer.cs file of the version 2.0 of the test project.
First we select History from the Source Control Explorer on that file:

Then, here is the result, fully expanded:

Wow, it doesn’t look like the previous versions! This display is just powerful! One of those I was waiting for so long! As you will quickly notice, there’s the history of our version 2.0 file, but also the changesets related in other branches.
The indentation level gives you quick information about which branch the changeset belongs to:

– The first level being the branch of the file you’re viewing history of.

– The second one being directly related branches (for the V2.0 it can only be Main).

– Subsequent levels are following the hierarchy between branches, naturally…

For those who were complaining about not be able to see history through branches, now I guess you are served well!

One quick remark: the History window is now a View Document of Visual Studio, you will have one Window opened per request, is it a good/bad thing, I think it’s a matter of taste.

Now let’s look a bit closer to the new toolbar in that History window, there are some icons we already know, others that are brand new.

· The first is to view the file of the selected changeset.

· The second will display the details of the changeset.

· The third and fourth are used to compare files and folders.

· The fifth is the now famous Annotate feature.

· The sixth is brand new, called Track Changeset.

· The last one is used to get in the current Workspace the version of the selected changeset.

Now let’s get back to the Track Changeset button, it smells good, let’s see…
I select the changeset 61, and click on that button. A new dialog appears, asking me to select the branches I’m interested to view information about.
Let’s make it this way:



The result is awesome (if you don’t judge the colors used):

What we have is a graphical representation of the flow of a changeset through branches. In this particular case you can see that changeset 61 is the result of a merge from CS 60 and is the source of a merge to version 2.0 that leads to CS 62. And of course you have full traceability for previous changeset. You can see that both CS 58 and 59 lead to CS 60 (remember the multiple “cherry pick” merges with only one check-in I did in a previous post?).

This window is mainly a graphical representation, but that’s not it, one of the killer demo-feature is you can drag and drop a given changeset from its branch to another one to initiate a merging operation. I don’t know if it will be used a lot, but the feature is just so cool!

There’s another representation of the changeset tracking history: the hierarchical representation. Here is what you get in this case:


The flow is still very well represented, giving you an idea of what went on.

There’s another feature I won’t cover which seems to display the labels related to changesets shown in history, another thing we missed for so long.

All in all the improvements here are good contributions to the Source Control part of Team System, you may find some enhancements as nice to have but working on large scale projects