c - 将 C 中的 '#define Version x.x' 与 Git 中的版本标记链接起来

标签 c git header

我敢肯定人们已经这样做了,因此才有了这个问题。 在我的 C 项目中,我使用以下方法定义当前版本:

#define VERSION 3.2.1

这被放置在全局头文件中并用于各种任务,例如在 UDP 数据包中告诉用户正在运行的固件/软件的版本。

在 Git(使用 git bash)中,我们可以为提交分配标签,允许提交被它们的散列和这个标签引用。我可以手动使用:

git checkout <hash>
git tag v3.2.1

但是,我希望 Git 从 C 头文件中获取版本变量,从而确保它只被手动输入一次。

我想有人有一些 bash 脚本可以做到这一点,并且可以设置为使用 Git 别名,以便在设置后轻松处理?

非常感谢。 埃德

最佳答案

假设v.h是带有

的头文件名
#define VERSION 3.2.1

定义。

您可以从中提取 VERSION 值,例如,使用

version=$(echo VERSION |  c99 -xc -include v.h - -E|tail -n1)

然后做

git tag v$version

关于c - 将 C 中的 '#define Version x.x' 与 Git 中的版本标记链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53873189/

相关文章:

c - C中图形的线性代数

c - GetSaveFileName()如何更新 "File name:"控件中的文件扩展名?

git - zsh : alias gco ='git checkout' 中别名子命令的 Tab 补全

git - 更改特定提交的提交消息

c++ - 多个错误,在 VS2017 中的头文件中,opengl 项目 C++

ios - Xcode 6.1 中的 .pch 文件

检查 API 是否受到监控( Hook ?)

c - GtkSpinner 具有持久的功能与 C

Git:使用 git-merge-file 来解决使用他们/我们的冲突

c++ - 为什么我不需要在 header 中包含 library.cpp?