How to download TFS shelveset

大憨熊 提交于 2019-12-03 05:23:55

If you just need to get the files from the shelveset to your local folder, this is a normal process and called Unshelve. It downloads the files to your local folder.

For example, before unshelve you had the following in your local folder:

  • File 1
  • File 2

The shelveset has:

  • File 1 (Modified)
  • File 3 (Created)

After unshelve there will be:

  • File 1 (Updated)
  • File 2
  • File 3 (Added)

If you need to have only the files from the shelveset in your workspace folder without anything else, one of the ways would be:

  1. Create new workspace, but do not download anything (i.e. do not get the latest version)
  2. That should create an empty local folder
  3. Do unshelve by using either Visual Studio or tf.exe
  4. You should have only the files from the shelveset

You can find more about managing shelvesets here: Suspend Your Work and Manage Your Shelvesets (MSDN)

Using command prompt, we can get a dump of the files :

set shelveset=<ShelvesetName>
set temppath=c:\temp\%shelveset%
md %temppath%

for /f "delims=;" %t in ('tf status /shelveset:%shelveset% /format:detailed ^| find ^"$^"') do tf view %t /shelveset:%shelveset% /noprompt > %temppath%\%~nxt

Note that this gives a flat structure and will rewrite if there are files with same name.

  1. Close Visual Studio
  2. Rename the folder, e.g add postfix original to the folder name so "SolutionX" folder becomes "SolutionX - Original"
  3. Make a "SolutionX" folder again, this is going to be empty
  4. Open VS, unshelve shelvset1, "SolutionX" will now only have shelvset1 files
  5. Close VS (this might not be needed)
  6. Rename "SolutionX " e.g. to "SolutionX Shelveset1"
  7. Make a "SolutionX" folder again, this is going to be empty
  8. Open the VS and Undo Pending Changes
  9. Unshelve shelvset2, "SolutionX" will now only have shelvset1 files
  10. Close VS, Rename "SolutionX" folder to "SolutionX Shelveset2"
  11. Rename "SolutionX - Original" folder to "SolutionX"
  12. Open the VS and Undo Pending Changes
  13. Use your compare tool to compare "SolutionX Shelveset1" and "SolutionX Shelveset2"

    If you find that some of the steps are not needed, let me know to update this, I tried the first answer, ran into problems and had to come up with this instead.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!