0

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

4

3 回答 3

0

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

于 2014-01-16T16:25:39.677 回答
0

以编程方式,您可以使用 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
:
:
于 2014-01-17T22:12:56.537 回答
0

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

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

希望有帮助!

于 2014-07-09T18:31:00.533 回答