如何在tfs上检测项目是否没有改变

时间:2014-01-16 15:37:54

标签: tfs2012

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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 get . /preview /noprompt /recursive

返回:

Getting somefile.cpp
Getting someotherfile.cs
:
:

答案 2 :(得分:0)

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

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

希望有所帮助!