111
votes

I'm currently working on a project with TFS source control. We've just gotten in a bug report for an older version of the code, and I need to pull down that version of code to test it out. My first thought would be to "Get Specific Version" to pull down the code, but I'd rather not get that version into my current workspace directory.

Is there an easy way to "Get Specific Version" into a separate (e.g. temporary/throw-away folder), so I can quickly look into this bug in the older version of code, and not disturb my current work?

4

4 Answers

142
votes

I just found one easy way to do this: Create a new Workspace in TFS pointing to a separate folder, then switchover to this new workspace and do a Get Specific Version here.

Makes sense now, I just hadn't ever tried that.

5
votes

OK, this is a very old question but still one that comes up. An alternative would be to shelve any changes you currently have, then undo changes locally so you are at the most up to date version from TFS, and then do your Get Specific Version. Once you're finished with it you can then get latest (if you're worried about it, you can dump the code you have locally first) and unshelve your changes again.

It's not without risk but given TFS's irritating and outdated workspace model it's about the best you can hope for without going to the trouble of mapping a whole new workspace or other faffing about.

3
votes

You can create a branch with version by

  • Change Set
  • Latest Version
  • Label
  • Date
  • Workspace Version

Then use that branch for fixing the bug and merge back the changes if required or release the branch itself.

1
votes

For making edits to a single file, here's a quick hack from within Visual Studio:

  1. Open Source Control Explorer
  2. Drill down to desired file
  3. File > Source Control > View History
  4. Select desired version (Changeset)
  5. Toolbar/Context Menu > Compare
  6. Click in left pane, Select All, Copy, paste into Your Favorite Editor and save