我在VS2013有一个C项目.在过去的类似项目中,我使用SubWCRev和Subversion来自动生成版本号.我有一个这样的模板文件:
#define MAJOR_VERSION 2 #define MINOR_VERSION 2 #define MICRO_VERSION 0 #define BUILD_VERSION $WCMODS?$WCREV$+1:$WCREV$$ #define QUOTE_(x) #x #define QUOTE(x) QUOTE_(x) #define BUILD_VERSION_STRING QUOTE(MAJOR_VERSION.MINOR_VERSION.MICRO_VERSION.BUILD_VERSION)
然后我运行SubWCRev作为预构建步骤来生成我在项目中包含的头文件以定义版本号.
我现在正在使用Git,并希望做类似的事情.我知道Git没有等效的修订号,但HEAD SHA会没问题.
似乎没有一种与Git相同的方法,我需要做一些不是我强项的脚本. Git Guru可以指出我正确的方向来实现这一目标吗?
解决方法
我最终发现了一个非常有用的批处理文件,它实际上比我需要的更多:
https://github.com/Thell/git-vs-versioninfo-gen
它基本上与SubWCRev做了一个非常相似的工作,并生成一个头文件,我可以在我的VS项目中包含它来设置所有版本字符串.在对脚本进行了一些黑客攻击后,我完全按照自己的意愿行事.
这里也有一个C#版本: