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

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(使用前将#替换为@)

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

  • SO_BINDTODEVICE Linux 套接字选项的问题

    我有一台带有两个网卡的电脑 一 eth0 用于 LAN 互联网 另一个用于与一个微控制器设备进行 UDP 通信 微控制器有一个 IP 192 168 7 2 和一个 MAC 地址 第二个电脑网络适配器 eth1 有 192 168 7 1
  • Linux shell 根据第二列对文件进行排序?

    我有一个这样的文件 FirstName FamilyName Address PhoneNumber 如何按 FamilyName 排序 如果这是 UNIX sort k 2 file txt 您可以使用多个 k用于对多列进行排序的标志 例
  • 如果文件没有行尾字符,则 wc -l 不计算文件的最后一个

    我需要计算 unix 文件的所有行数 该文件有 3 行 但是wc l仅给出 2 个计数 我知道它不计算最后一行 因为它没有行尾字符 任何人都可以告诉我如何计算这一行吗 grep c返回匹配行的数量 只需使用一个空字符串 作为您的匹配表达式
  • 段错误...关于你好世界

    这段代码非常简单 但我在 x86 64 Linux 系统上遇到了段错误 这让我很烦恼 刚开始接触asm 请耐心等待 与 NASM 组装nasm f elf64 test asm 与连接ld o test test o SECTION tex
  • Pthreads - 高内存使用率

    我正在用 C 编写一些东西 在 256Mb 系统上的 Linux 中创建大量 Pthread 我通常有 200Mb 的免费空间 当我使用少量线程运行该程序时 它可以工作 但是一旦我让它创建大约 100 个线程 它就会出现错误 因为系统内存不
  • Github 拉取请求显示太多更改/提交

    我们有两个分行 develop and master 由于某种原因 当我创建 PR 时develop gt master 它显示了以前提交和更改的完整列表 即使我只做了一行更改develop 另外 当我能够从命令行合并时 它会说 无法自动合
  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • 选择fasta文件中氨基酸超过300个且“C”出现至少4次的序列

    我有一个包含蛋白质序列的 fasta 文件 我想选择超过 300 个氨基酸且半胱氨酸 C 氨基酸出现超过 4 次的序列 我使用此命令来选择具有超过 300 个 aa 的序列 cat 72hDOWN fasta fasta bioawk c
  • 我想在 Red Hat Linux 服务器中执行 .ps1 powershell 脚本

    我有一个在窗口中执行的 ps1 powershell 脚本 但我的整个数据都在 Linux 服务器中 有什么可能的方法可以让我在红帽服务器中执行 powershell 脚本 powershell脚本是 Clear Host path D D
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • 如何在configure.in中测试C++库的可用性?

    我正在 GNU Linux 上开发一个 C 项目 并且正在寻找一种方法来使用 Autotools 测试 IBM Informix 库的存在性和可用性 即编辑configure in 我没有使用 Autotools 的经验 所以基本上我是从该
  • Vagrant 遇到问题 - “404 - 未找到”

    我正在尝试使用 Vagrant 制作一个 LAMP 盒子 有人告诉我它使用起来非常简单 我对网络和虚拟机完全陌生 对 Linux Ubuntu 的经验也很少 我目前已尝试按照官方文档页面上的教程进行操作 http docs vagrantu
  • 删除生成的 Javadoc 中的注释“Generate by Javadoc on

    javadoc 命令会自动插入一条注释 如下所示 在每个生成的 HTML 文件中 这完全阻止了版本化 javadoc 的更改跟踪 因为在重新生成文档时每个文件都会被修改 我问的上一个问题说服我不要对任何 javadoc 进行版本控制 但它也
  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • 链接错误:命令行中缺少 DSO

    我对 Linux 使用 Ubuntu 14 04 LTS 64 位 相当陌生 来自 Windows 并且正在尝试移植我现有的 CUDA 项目 当通过链接时 usr local cuda bin nvcc arch compute 30 co
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 如何将普通的 Git 存储库转换为裸存储库?

    如何将 普通 Git 存储库转换为裸存储库 主要区别似乎是 在普通的 Git 存储库中 你有一个 git存储库内的文件夹 包含构成工作副本的所有相关数据和所有其他文件 在裸露的 Git 存储库中 没有工作副本和文件夹 我们称之为repo g

随机推荐

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

    我是 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 被用作