3

我想从 TFS 获取一个文件。在 Mercurial 的相同情况下,我会这样做hg cat

hg catTFS中是否有等价物?

我正在尝试以下命令行:

tf get $/dev/components/log.zip

但它失败了:

No appropriate mapping exists for $/dev/components/log.zip.

我该怎么做呢?

4

3 回答 3

2

TFS 需要一个工作空间来在服务器存储库和本地计算机之间建立映射。如果您已经定义了包含 的工作区$/dev/components/log.zip,则在命令行工具中切换到该文件夹​​。

如果要将文件获取到当前所在的文件夹,则需要创建一个新工作区。这可以在 Team Explorer 中或使用 tf.exe 完成:

tf workspace /new logZipWs /collection:http://tfsserver:8080/tfs/DefaultCollection

现在你有了一个工作空间,但你需要将服务器路径映射到本地文件夹:

tf workfold /map $/dev/components . /collection:http://tfsserver:8080/tfs/DefaultCollection /workspace:logZipWs

现在你的命令应该可以工作了。但是使用 Team Explorer 创建工作区要容易得多。

完成后,确保删除工作区,以便从 TFS 服务器取消注册(TFS 跟踪服务器客户端上的工作区):

tf workspace /delete logZipWs /collection:http://tfsserver:8080/tfs/DefaultCollection
于 2013-06-18T13:39:46.310 回答
1

您可能还想查看Neno Loje 的 TfsExport 工具,该工具可以将单个文件或整个路径结构从 TFVC 下载到磁盘。

当您确实采取创建(临时)工作区的路线时,请确保在完成后将其删除,否则您将在 TFS 服务器上注册大量工作区,这些工作区只会停留在数据库中并占用空间并增加升级所需的时间。

tf workspace /delete logZipWs /collection:http://tfsserver:8080/tfs/DefaultCollection
于 2014-12-29T15:00:55.307 回答
1

view您可以使用子命令下载文件而无需设置工作区。

tf view $/dev/components/log.zip /output:log.zip

不幸的是,尽管该命令支持该/recursive选项,但递归检索并不实用。如果您尝试使用它,所有文件实际上将使用给定文件类型的默认程序打开,而不是简单地保存到目录中。但是对于获取一个特定的文件,它可以正常工作。

于 2014-12-29T14:47:37.103 回答