说明
- 此脚本在window下使用,创建两个文件,将其复制到对应git工程根目录下即可使用,直接运行version.bat就可以了。
文件version.h
#ifndef __Version_H__
#define __Version_H__
#define VersionHash $VersionHash$
#define VersionCount $VersionCount$
#define VersionInfo "$VersionInfo$"
#define VersionTag "$VersionTag$"
#endif
文件version.bat
@echo off
chcp 65001
set template= version.h %模板文件%
set OutFile=XyzApp\M\version\version.h %输出文件%
del %OutFile%
setlocal enabledelayedexpansion
for /F %%i in ('git rev-parse --short HEAD') do ( set VersionHash=%%i)
for /F %%i in ('git rev-list --count HEAD') do ( set VersionCount=%%i)
for /F "tokens=* delims= " %%i in ('git log --oneline -1') do ( set VersionInfo=%%i)
for /F "tokens=* delims= " %%i in ('git describe --tags --abbrev^=0') do ( set VersionTag=%%i)
for /f "delims=" %%i in (%template%) do (
set ii=%%i
set ii=!ii:$VersionHash$=0x%VersionHash%!
set ii=!ii:$VersionCount$=%VersionCount%!
set ii=!ii:$VersionInfo$=%VersionInfo%!
set ii=!ii:$VersionTag$=%VersionTag%!
echo !ii!>>%OutFile%
)