在Git中创建.NET递增程序集构建版本

时间:2012-09-03 12:34:38

标签: .net git versioning auto-increment build-numbers

如何编写将创建包含版本号的源文件的脚本?我想为每次提交自动增加内部版本号(版本四倍中的第四个数字)。

我找到some examples关于如何使用bash命令来执行此操作:

INCREMENT=`git-rev-list $BRANCH..HEAD | wc -l | awk '{print $1}'`

但我使用的是Windows,我不知道如何将其作为脚本(或Windows批处理文件)运行。

我曾经使用SVN,它在命令提示符下工作得很好,所以我只是在批处理文件中使用它,但我不知道如何在不启动git-rev-list的情况下执行git bash

2 个答案:

答案 0 :(得分:3)

由于git是分布式VCS,因此不可能保持全局递增的数字,没有它的位置。因此,正确的做法是使用<commit sha1>(或其片段)作为内部版本号。您可以使用git describe自动生成好的版本名称,包括递增的数字。

另一个不错的选择是拥有一个内置版本号的构建服务器(例如Jenkins或类似服务器)。

如果你想使用hackish方法,你可以使用git安装,例如msysgit,它包含wsawk等所有命令。不确定为什么你的工作不起作用,也许你的PATH中没有Git\bin文件夹。

答案 1 :(得分:2)

AssemblyInfomationalVersionAttribute可能包含任何字符串,包括git describe

的哈希或短语或输出