TFS:检查本地文件是否是脚本中的最新版本

时间:2017-12-15 14:31:39

标签: tfs

参考:Visual Studio Team Foundation Server 2015: 如果本地文件是否等于服务器上的最新版本,如何在TFS源代码控制下的批处理或Powershell脚本中检查给定文件?

1 个答案:

答案 0 :(得分:4)

您可以使用Visual Studio附带的tf.exe。以下是使用PowerShell的一些不同选项。这也可以通过一些更改批量编写。

假设如下:

# Change directory to the folder containing your file.
Set-Location "D:\MyProjects\Project1\Logic"

# File to evaluate
$file = "Program.cs"

# Using the Visual Studio 2015 Common Tools System Variable to find tf.exe
$tfExe = "$env:VS140COMNTOOLS\..\IDE\TF.exe"

1:使用get /preview,它会预览是否可以获得更新版本。

& cmd /c "`"$tfExe`" get $file /preview"

结果如果最新:

All files are up to date.

结果如果不是最新的:

D:\MyProjects\Project1\Logic:
Replacing Program.cs

Get Documentation Link

2:difference /format:Briefstatus一起使用,它会告诉您本地是否存在差异,但没有待处理的更改

& cmd /c "`"$tfExe`" difference $file /format:Brief"
& cmd /c "`"$tfExe`" status $file"

结果如果最新:

Comparing local to latest: D:\MyProjects\Project1\Logic\Program.cs
There are no pending changes.

结果如果不是最新的:

Comparing local to latest: D:\MyProjects\Project1\Logic\Program.cs
Program.cs: files differ
There are no pending changes.

Difference Documentation Link

Status Documentation Link

3:使用info,它将显示本地变更集和服务器变更集,您可以看到它们是否不同。

& cmd /c "`"$tfExe`" info $file"

结果:

Local information:
  Local path : D:\MyProjects\Project1\Logic\Program.cs
  Server path: $/MyProjects/Project1/Logic/Program.cs
  Changeset  : 2842
  Change     : none
  Type       : file
Server information:
  Server path  : $/MyProjects/Project1/Logic/Program.cs
  Changeset    : 2845
  Deletion ID  : 0
  Lock         : none
  Lock owner   : 
  Last modified: Friday, December 15, 2017 4:32:57 PM
  Type         : file
  File type    : utf-8
  Size         : 2835

Info/Properties Documentation Link

还有LocalVersions,它会告诉您文件的本地更改集,History会显示文件的所有更改集。