gpt4 book ai didi

linux - 在关联文件中增加新版本的版本号(文档)

转载 作者:IT王子 更新时间:2023-10-29 00:10:35 25 4
gpt4 key购买 nike

我很想知道你们如何处理增加版本号的新版本问题。

如何处理相关文件(如手册页等)中的版本号

该软件是使用 gnu 工具链构建的,因此 autoconf、automake 等可用并用于应用程序的版本号。这样信息就可以重复使用。

git作为vcs使用。

一种可能性是在 Makefile.am 中引入一个额外的、新的目标,它执行 sed/awk 以替换所有相关文件中的版本号和日期。该目标可以在新版本开发的开始(分支之后)调用一次。

然后当人们对项目进行 git 克隆 或发布 tarball 完成时,项目可以使用正确的信息构建。当然,在开始开发新版本时,必须记住运行这个 make 目标。

另一种选择是用 dist 目标的钩子(Hook)替换 sed/awk。但这会使项目的 git 存储库处于没有正确版本号与关联文件相关联的状态。

我更喜欢第一个解决方案,因为它还在 git 历史记录中记录了正确 版本号。

在进行 sed/awk 替换时,您更喜欢“在文件中”进行替换,还是像 autoconf/automake 工具那样使用文件中的模板进行替换。我看到了这两种方法的优点和缺点。

您如何处理关联文件的版本控制。您是在开发阶段开始时更改它们,还是在发布之前更改它们,您是进行文件内替换还是更喜欢使用模板?

谢谢。

最佳答案

如今一个常见的解决方案是使用 m4_esyscmd 参数调用 AC_INIT 以从 git 生成 VERSION。例如,autoconf 的 configure.ac 包含以下行:

AC_INIT([GNU Autoconf],        m4_esyscmd([build-aux/git-version-gen .tarball-version]),        [bug-autoconf@gnu.org])

其中 build-aux/git-version-gen 是一个简单的脚本,它调用“git describe”来生成版本号。 (参见 gnulib)

这种方法有缺点,但它是有效的。

关于linux - 在关联文件中增加新版本的版本号(文档),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/986521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com