How to rollback in Visual Studio TFS?
I'm working on one sub-module of a large project for which is use VSTS 2008.
I have a need to rollback the module to an earlier version (about 4 check-ins previous). I tried to do this in the Visual Studio UI, and finally realized there is no option to rollback.
After some research, I determined there is a power tools download that purports to support rollback via a command-line tool. However, there appears to be virtually no documentation for it.
Can anyone describe step by step how to rollback to a previous version in VS2008? (Using Power Tools or otherwise).
Bonus question--anyone know if we might get more robust rollback support in VS2010?
Solution 1:
Right-click on the folder in Source Control Explorer. Choose Get Specific Version. Choose the version that you want to get (by changeset, date, label, etc).
EDIT: At this point your local version will be the version that you want. Check out the changed files and then check them back in. This will bring up the merge wizard and it will probably be complaining about how the server has a newer version than you do. Go through the wizard and merge the files the way you want them (one of the options is to discard the server changes, which is what it sounds like you want). At the end of this process, it may tell you that no files were checked in due to the merge process (or something of that nature), just hit OK and then check in again. This should accomplish what you need.
Solution 2:
This has luckily been made much easier in TFS 2012. Now there is a Rollback option from the GUI.
MSDN has more information on how to do it, and what options are available. Here is the text from MSDN on how to rollback to a specific version:
To roll back to a specific version:
- In Source Control Explorer, select an item, open its shortcut menu, and choose Rollback.
- In the Rollback dialog box, select Rollback to a specific version.
You can of course also rollback entire changesets or a collection of changesets. And you can also easily rollback to a specific point in time if you wish.
Solution 3:
There IS a way but I don't find it pretty.. Open Visual Studio command prompt and ..
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>tf rollback -?
TF - Team Foundation Version Control Tool, Version 10.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Rolls back the changes in a single or a range of changesets:
tf rollback /changeset:changesetfrom~changesetto [itemspec] [/recursive]
[/lock:none|checkin|checkout] [/version:versionspec]
[/keepmergehistory] [/noprompt] [/login:username,[password]]
tf rollback /toversion:versionspec itemspec [/recursive]
[/lock:none|checkin|checkout] [/version:versionspec]
[/keepmergehistory] [/noprompt] [/login:username,[password]]
Versionspec:
Date/Time D"any .Net Framework-supported format"
or any of the date formats of the local machine
Changeset number Cnnnnnn
Label Llabelname
Latest version T
Workspace Wworkspacename;workspaceowner
Solution 4:
The August 2011 TFS Power Tools added full rollback support right into the Visual Studio 2010 UI.
Download link: http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f
This function is also included with TFS 2012.