【问题标题】:How detect on tfs if project doesn't change如果项目没有改变,如何检测 tfs
【发布时间】:2014-02-05 14:51:51
【问题描述】:

我有本地 TFS2012。我如何检测项目是否有任何更改?我需要这个变量来决定 powershell 脚本:部署包而不是。

【问题讨论】:

    标签: tfs tfs-2012


    【解决方案1】:

    您可以使用 tf.exe 以编程方式获取项目根目录的历史记录:

    tf history . /stopafter:1 /format:brief /noprompt
    

    注意:“.”只是使用映射到 TFS 位置的当前位置,您可能会使用 $/Some/branch/location 而不是“.

    需要解析输出以获取日期字段

    Changeset Change                     User              Date       Comment
    --------- -------------------------- ----------------- ---------- -------------
    375564    merge                      developer    (... 8/24/2010  Merge comment
    

    您可以通过运行 tf history /? 获得完整的 tf 历史选项集?

    另一种方法是尝试获取最新信息,如果你有任何变化:

    tf get . /preview /noprompt /recursive
    

    返回:

    Getting somefile.cpp
    Getting someotherfile.cs
    :
    :
    

    【讨论】:

      【解决方案2】:

      如果您想查看是否有任何特定文件已更改,您可以查看特定文件夹的历史记录并查看更改集的日期。这也可以使用 TFS API 以编程方式完成。

      【讨论】:

        【解决方案3】:

        我正在为更改的项目仅生成 nuget 包,因此我需要找出更改的文件。获得更改的文件后,您可以搜索包含(或者是)那些更改的项目(文件/文件夹)的项目:

        。 "$tf" 差异。 /noprompt /format:brief /version:D"$($lastBuildstartTime.ToString())"~W /recursive |? {$_ -like "only" - 或 $_ -like "不同"}

        希望有帮助!

        【讨论】:

          猜你喜欢
          • 2012-12-02
          • 2013-12-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多