在关联文件中更改新版本的版本号(文档)

2023-11-22

我很想知道你们是如何处理的修改版本号对于新版本问题。

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

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

git 被用作 vcs。

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

然后,当人们执行以下操作时,该项目就可以使用正确的信息来构建克隆项目或发布 tarball 完成时。当然,在开始开发新版本时必须记住运行此 make 目标。

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

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

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

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

THX.


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



AC_INIT([GNU Autoconf],
        m4_esyscmd([build-aux/git-version-gen .tarball-version]),
        [[email protected]])
  

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在关联文件中更改新版本的版本号(文档) 的相关文章

随机推荐

  • 如何将多处理与请求模块一起使用?

    我是 python 的新开发者 我的代码是下面的代码 import warnings import requests import multiprocessing from colorama import init init autores
  • 为什么我需要在 g++ 中使用 typedef typename 而不是 VS?

    自从 GCC 发现我有这个问题以来已经有一段时间了 但它今天才发生 但我一直不明白为什么 GCC 需要在模板中使用 typedef typename 而 VS 和我猜 ICC 不需要 typedef typename 是一个 bug 还是一
  • 如何将图像作为资源包含在 C++ 可执行文件中?

    是否可以将图像 jpegs 作为资源包含在 win32 c 可执行文件中 如果是这样怎么办 如果仅是 Windows 则使用自定义资源 如果您想要跨平台的东西 那么请执行我为最近的项目所做的操作 创建一个将 JPEG 编码为char buf
  • Capybara 与 jquery.selectize 的集成测试

    如何使用表单编写水豚集成测试jquery selectize 我想测试用户输入几个值 这里的大多数答案都从底层改变了内容 并且与用户交互不同 这是一个接近用户所做操作的版本 waits for the text to show up in
  • Google App Engine 应用程序实例回收和响应时间

    我在 GAE for Java 小组上发布了这篇文章 但我希望在这里更快地得到一些答案 我决定对我的应用程序进行一些长期运行的性能测试 我 每 5 30 分钟创建一些小型客户端点击应用程序 我运行 3 5 与此类客户端的线程数 我注意到响应
  • NodeJS - 设置mean.io找不到模块错误

    我对整个 node js 事物有点陌生 当尝试安装 MEAN 包时http mean io 我忠实地遵循了以下步骤 我 cd 到我的目录 运行 npm install 然后运行 grunt 命令 并收到此错误 Error Cannot fi
  • 如何解码 HTML 实体

    我有带有 HTML 实体的字符串变量 var str Some text x26 text 我想将其转换 解码 为原始字符 Some text text JavaScript 没有内置函数来实现想要的结果 我无法使用 jQuery 或 DO
  • 简单的浮点数会失去精度

    我正在使用 Delphi XE2 Update 3 即使是最简单的浮点数也存在精度问题 例如3 7 给定以下代码 32 位控制台应用程序 program Project1 APPTYPE CONSOLE R res uses System
  • Angular2 - 在 Azure 中托管时页面刷新 404ing

    我正在开发 Angular2 应用程序 它使用 Angular common 2 0 0 rc 4 和 Angular router 3 0 0 beta 2 我的问题是 当我在某些页面上使用浏览器刷新时 我看到一条错误消息 您正在查找的资
  • 使用 -MM 在 Makefile 中生成依赖项时出现问题

    我是 Makefiles 和 g 的新手 在使用 MM 标志生成项目文件的依赖项时遇到了问题 我发布了我正在使用的 Makefile 供您考虑 请看一下 OUTPUT ROOT output SOURCE ROOT source TITLE
  • SQL:为什么在此 where 子句中过滤掉 NULL 值?

    在我的表中 我有一个可为空的位列 旧系统 另一位开发人员最近对存储过程进行了更改 以仅显示位列不为 true 的值 1 因为这是一个可为空的列 我们注意到如果该列为 NULL 则不会选取记录 为什么是这样 其他开发人员和我都同意 NULL
  • 如何在 PHP 中将变量作为 $_POST 键传递?

    在 PHP 中如何将变量作为 POST 数组键值传递 还是不可能 test test echo POST test Thanks 如果我没理解错的话 你想通过 post 将一个变量从一个 php 文件传递 到另一个 php 文件 这肯定可以
  • 如何在 mat-list-option (mat-selection-list) 项中添加辅助操作

    如何在 mat list option 元素内的 mat selection list 中添加辅助操作 mat icon button 目前 所有项目都添加到 mat list text div 内 例子 https stackblitz
  • 使用 MSI 从本地 Service Fabric 群集访问 Key Vault

    我想通过托管服务身份 MSI 从 Service Fabric 应用程序访问 Key Vault 我已在 Azure 门户中的虚拟机规模集上启用 MSI 并授予其对我的 Key Vault 资源的访问权限 这就像云端的魅力一样 但是 我的本
  • 无法在 Windows 10 中安装 sdkmanager

    我正在尝试单独安装 sdk 管理器以便与 Eclipse 一起使用 我下载了谷歌提供的zip文件 命令行工具 win 6200805 latest zip from https developer android com studio 但当
  • 使用scrapyd有什么优势?

    scrapy 文档说 Scrapy 附带一个名为 Scrapyd 的内置服务 它允许您部署 也称为上传 您的项目并使用 JSON Web 服务控制其蜘蛛 使用 scrapyd 在一致性方面有一些优势吗 Scrapyd 允许您通过方便的 We
  • 使 bash 中的命令超时,避免不必要的延迟

    这个答案 to 命令行命令在一定时间后自动终止命令 提出了一种 1 行方法来使 bash 命令行中长时间运行的命令超时 path to slow command with options sleep 5 kill 但给定的 长时间运行 命令
  • Django 表命名约定。我可以改变它的行为吗?

    当 Django 创建表时 它会为它们提供 app class 形式的名称 我正在为 Django 安装改造一个不同的 但内容基本相似 数据库 我的表名称没有以 app 开头 我可以相应地重新创建我的数据库及其表 但我想看看 Django
  • 页面退出时弹出框

    我想做的是在页面退出或导航离开时创建一个弹出框 现在我有 我有两个问题 仅当您实际离开页面 刷新 新 URL 等时 它才会显示该框 如果您退出选项卡或浏览器 则不会弹出该框 无论您按哪个按钮 它只会将您发送到
  • 在关联文件中更改新版本的版本号(文档)

    我很想知道你们是如何处理的修改版本号对于新版本问题 如何处理关联文件 例如手册页等 中的版本号 该软件是使用 gnu 工具链构建的 因此 autoconf automake 等可用并用于应用程序的版本号 这样信息就可以被重用 git 被用作