获取TFS中存储库的实际修订版本号

时间:2018-02-02 13:57:47

标签: tfs

我正在使用tf.exe,我需要知道Team Foundation服务器上的实际版本ID。

我尝试了 tf history ,但我只需要最新版本。

我正在使用TFS 2010和Visual Studio 2008.

环境变量会为我做。

2 个答案:

答案 0 :(得分:0)

如果您使用的是vNext版本(TFS 2015及更高版本),则无需使用tf.exe,您可以直接使用预定义变量Build.SourceVersion来获取最新版本值(变更集ID)在当前版本中。有关详细信息,请参阅Predefined variables

然后,您可以使用变量Build.SourceVersion设置内部版本号格式

例如:$(TeamProject)_$(BuildDefinitionName)_$(Build.SourceVersion)_$(Date:yyyyMMdd)$(Rev:.r)

但请注意,内部版本号格式中的变量$(Build.SourceVersion)仅在提交/签入时自动触发构建时可用(在持续集成时)。当您对构建手动进行排队并将Source Version字段保持为为空时(默认情况下它将获取最新版本),无法解决此问题。 因此,如果您手动对构建进行排队,则需要在队列构建对话框中指定特定的Source Version (例如C458)。在另一个帖子中查看我的回复:Using SourceVersion and rev:r in TFS2015 build names

另一种解决方法是先使用变量Build.SourceVersion获取最新的变更集,然后在构建过程中自动升级内部版本号。

答案 1 :(得分:0)

TFS 2010 means XAML builds, so you need to use the IBuildDetail.SourceGetVersion property. The simplest way is to assign a variable just before the UpdateBuildNumber activity; the variable value is computed mixing the build number computed by TFS and the above property.