Need command to get a file from TFS without a workspace
Asked Answered
M

1

17

What I want to do is get a specific version of a file from TFS to a location other than my workspace using the command line (either tf.exe or powershell)

I want to do this so that it doesn't affect the files in my workspace, and places the file into a release folder.

tf.exe only seems to support getting a file to your workspace.

I haven't found a way to do it with Powershell either.

Can anyone help me out?

Metaphase answered 24/7, 2009 at 5:17 Comment(0)
M
24
rem tf.exe
tf view $/path/to/file.txt /version:1234 > %temp%\file.txt

# powershell
$tfs = get-tfsserver $hostName -all
$tfs.vcs.DownloadFile($serverPath, $fileName)

# even better: manipulate entirely in-memory
$item = $tfs.vcs.GetItem($serverPath)  # tons of GetItem(s) overloads available
$contents = ( [io.streamreader]$item.DownloadFile() ).ReadToEnd()
$contents | ? { some-condition } | do-coolstuff
Madly answered 24/7, 2009 at 5:53 Comment(2)
Instead of "tf view xx > %temp\file.text" you can also use the /output argument. The command then becomes: tf view $/path/to/file.txt /version:1234 /output:"%temp%\file.txt"Womble
There needs to be a way to do this via the GUI - crazyMusick

© 2022 - 2024 — McMap. All rights reserved.