Let's Play With Version Control - Part 2
Previous Posts:
So I fire VSTS back up and open my Contacts Team Project. I double-click on the Version Control file, located in the Team Project, to open the Source Control Explorer. My plan is to retrieve the version of the app where I added the label control, before I deleted the Default.aspx page. Of course, even the best laid plans don't always work out…
In the Source Control Explorer, I right-click on the Contacts->ContactsWeb folder and select History. This opens the history tab. By looking at the history information, I can tell that Changeset 6 is the one I am interested in. I right-click again on the Contacts->ContactsWeb folder, and this time select Get Specific Version. This opens the Get window, which we have discussed previously. Under Version, I select "By Changeset":
Get By Changeset
As you can see, you now have the option to enter a changeset number or select a specific number. I click the button to select a specific changeset. This opens the Find Changeset window:
Find Changeset
This window is pretty cool. You can search for changesets by those containing particular files, or by user. You can look at all the changesets, changesets over a particular number range, or by the date they were created. Lots of options.
Even though I know the changeset number I am interested in (6), I'm going to play around with some of the search options. First, I'm going to try and find what I need by doing a "Containing File" search. I select this option, enter default.aspx in the text box, and click Find Now. Hmmm, that did not work like I thought it would. I received the following error message:
Find Changeset Error Message
"There is no working folder mapping for C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\default.aspx".
So, now I decide to click the "…", to see what options that gives me. It opens a Choose Item Dialog Box:
Choose Item Dialog Box
You have to specify the Team Project you want to search, in this case $/Contacts. It also searches recursively through the subfolders. For example, if I select $/Contacts and click Find Now, I see four changesets:
Results: 4 Changesets
But if I drill down to the $/Contacts/ContactsWeb, I see only three changesets:
Results: 3 Changesets
If you don't enter any search options, and select a Range of "All Changes", clicking Find Now will dhow you all the changesets in the repository for all team projects:
Results: All Changes
You can also try and retrieve changesets that were created by a particular user. If I entere TFSSETUP in the "By User" search field, and click Find Now, I see this:
Results: TFSSETUP Search
If I search under "darren", I see a different search result set:
Results: darren Search
You can also use the Range to narrow down the search results. For example, I could search for By User: "darren", and created between Tues Aug 16 and Wed Aug 17. This returns the following:
Results using Range
Once I get my search results back, I can view the details of particular changesets before I select that changeset to retrieve. I select the appropriate row, and click the Details button. This opens the Details For Changeset, which we have discussed previously, and shows you all the detailed information about the changeset.
Changeset 6 is the one I am interested in, so I double-click it , and return to the Get window. I click both checkboxes on the Get Window, and click OK. I still don't see my default.aspx in the source control view, but when I open the solution in the Solution Explorer, I see it. However, it does not appear to be a member of the source control any more. Very strange. I don't know if I have messed something up somewhere, or everything is working like it is supposed to. So we are going to delve into that some more over the next several posts.
I went ahead, and in the Solution Explorer, right-clicked on the default.aspx page and deleted it. Stay tuned as we continue to play with Version Control!