TFS Online - 从0开始$(Rev.r)

时间:2016-11-30 20:53:35

标签: tfs versioning

我在我的内部版本号中使用$(Rev:.r)。

MAJOR.MINOR $(启:.R)

这在每个构建中都是完美的并且递增,并且如果主要版本或次要版本被更改,则会重置。

但编号从1开始而不是0.所以第一个版本不是1.0.0而是1.0.1,这不是我想要的。

那么有没有办法让版本从0开始?

感谢您的帮助...

P.S。不幸的是,在这个项目中不可能使用Git和GitVersion。

3 个答案:

答案 0 :(得分:3)

不,这无法实现。

  

什么是Rev?

     

使用$(Rev:.rr)确保每个已完成的构建都具有唯一名称。   构建完成后,如果构建号中没有其他内容   更改后,Rev整数值加1。

     

来源链接:Build number format

此外,无论何时在TFS版本中更改内部版本号,版本都会重置为1 。它'默认情况下,您无法更改此值。因为如果你能够从0开始设置值,那么它也应该能够从100开始设置它。这会弄乱构建号。

答案 1 :(得分:0)

作为重置修订版号的解决方法,您可以创建现有构建定义的克隆,并使用最近创建的定义启动新构建。这将从修订版#1开始新的构建。

以下是如何克隆构建定义,单击构建定义页面下定义标题旁边的3个点。请参阅下面的屏幕截图;

Click here to view screenshot - clone a definition

与1.0.0.1类似,如果您在构建格式字段中将格式设置为1.0.0 $(rev:.r)。

否则,在构建定义中重置修订版#是不可能的。我已经尝试删除早期版本,并尝试手动将内部版本号设置为1.0.0.0以重置但没有任何效果。

答案 2 :(得分:0)

这可能是旧线程,但是我找到了对我有用的解决方案。 我有MinorVersionMajorVersion的变量。然后创建我自己的名为RevisionVersion的Revision变量,并进行如下的计数器表达式:

$[counter(format('{0}.{1}',variables['MajorVersion'],variables['MinorVersion']), 0)]

现在内部版本号可以设置为

$(MajorVersion).$(MinorVersion).$(RevisionVersion)

如果MajorVersionMinorVersion的更改将RevisionVersion重置为0。这将提供1.1.0内部版本号格式,并且每增加一个新内部版本,修订版本就会增加1。