【问题标题】:Download Files from TFS based on theirs labes using powershell使用 powershell 根据他们的实验室从 TFS 下载文件
【发布时间】:2018-04-01 09:27:42
【问题描述】:

如何使用 powershell 根据标签从 tfs 查找和下载文件。 我找到了一个下载最新版本的代码,但我想要一个特定的标签版本。

【问题讨论】:

    标签: powershell tfs


    【解决方案1】:

    您可以在 powershell 脚本中调用 tf 命令来执行此操作,从 TFS e 中提取标签所需的步骤如下:

    1. 指定以下作为输入参数: 磁盘位置 where 标签被拉取(源代码目录) TFS 工作空间和文件夹 从中提取代码 与 TS 工作空间关联的标签名称 和文件夹
    2. 从源代码目录中删除现有代码
    3. 创建源代码目录

    4. 将当前工作目录更改为源代码目录 其原因在:“构建自动化:获取 使用 TF GET 来自 TFS 的多个标签(不删除与先前 TF GET 关联的文件)”(可选)

    5. 如果 TFS 工作空间存在,则删除它,也就是 tf workspace /delete

    6. 创建 TFS 工作空间,又名 tf workspace /new

    7. 将源代码文件夹映射到集合文件夹并关联 此映射与工作空间 a.k.a. tf workfold /map
    8. 从 TFS 获取标签,又名tf get /version:L<label name> /noprompt

    详细代码请参考本博客:How to Correctly pull labels from TFS using PowerShell

    另一种方法是使用 TFS API,而不是直接获取最新版本,您可以使用 VersionSpec 来指定您想要的版本。例如 DateVersionSpec、ChangeVersionSet 或 LabelVersionSet。详细代码请参考How to use the TFS API to retrieve a historical version of your project,你可以在PowerShell中涉及TFS API

    【讨论】:

    • 感谢您的详细回复,但是,我在 donwload 脚本中使用 dlls 来获取最新版本,我将“[Microsoft.TeamFoundation.VersionControl.Client.VersionSpec]::latest”作为参数传递到 GetItems 方法,如何为一个标签(版本)做到这一点
    • @DouraidTLILI 有一个LabelVersionSpec Class,没试过,不过应该是这样的` "Microsoft.TeamFoundation.VersionControl.Client.LabelVersionSpec" -argumentList $sTFSlabel` 一串标签名称.你可以看看这个博客,即使它使用vcs.DownloadFile 方法:cnblogs.com/Henry1225/archive/2012/05/07/2487503.html
    猜你喜欢
    • 2019-07-05
    • 1970-01-01
    • 2013-06-13
    • 2020-03-16
    • 2020-10-08
    • 1970-01-01
    • 2013-09-22
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多