当前位置: 首页 > 面试题库 >

关联文件中新发行版本的版本号(文档)

邵诚
2023-03-14
问题内容

我想知道如何你在那里处理有兴趣 撞版本号 为新版本问题。

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

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

git用作vcs。

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

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

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

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

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

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

谢谢。


问题答案:

我认为,执行此操作的标准方法是使用Git的hook系统和m4或sed /
awk进行搜索/替换(如您建议的那样)。您只需要在每个文件中带有注释的特殊标记(可能在标题中)即可。

这是有关githooks的参考,这是解决相同问题的人们写的几页:

  • http://groups.google.com/group/memcached/browse_thread/thread/b02e992ede0f0e89
  • http://blog.rfwatson.net/2009/06/03/automatic-version-numbering-using-git/

这两个都依赖于将版本号存储在源代码树中某个位置的文件中。

我还遇到了一个叫做0release的对象,它声称可以自动创建版本(以及设置版本号)。



 类似资料:
  • 问题内容: 当我包含必须从源代码编译的开源库时,出现此错误。现在,网络上的所有建议都表明该代码是在一个版本中编译并在另一版本(旧版本中是新版本)中执行。但是,我的系统上只有一个JRE版本。如果我运行命令: 并在Eclipse中检查Java库的属性,我得到 因此,我必须得出结论,类本身内部的其他东西引发了异常?那有可能吗? 问题答案: 我了解到这样的错误消息通常是正确的。当无法(按您的想法)想到所报

  • 问题内容: 我正在使用带有节点6.3.1的打字稿2.2的nodejs项目,我想从使用类型迁移到使用@types。通过这样做,我遇到了一系列与@types文件的版本和相应的npm包之间是否存在关系有关的问题。 如果我以茉莉花为例,则类型定义的现有版本为 但是,如果我检查一下茉莉花包装的版本, 假设我正在使用2.4.0版的茉莉花,应该选择哪个版本的@ types / jasmine?因为即使我使用了两

  • 在项目结构中,我已经将所有内容都设置为java 11,在java编译器设置中,我的本地java版本也是11,可能有什么问题?

  • 引用 foobar2000.nsi 的内容: ;************************************************************ ;脚本编写: 蓝色网际 ;我的脚本里使用了修改的语言文件,你需要按照如下步骤设置: ;打开 ${NSISDIR}\Contrib\Modern UI\Language files ;找到要插入的语言文件,一般为 SimpChi

  • 问题内容: 我想生成一个将用maven更新应用程序的zip文件。该zip将托管在服务器上,我正在使用Assembly插件来生成zip。但是,我希望Maven自动生成一个文本文件,该文件将当前版本号存储在zip之外。这怎么可能? 编辑:我成功使用maven程序集插件和两个描述符创建了两个自定义程序集。一个人有一个目录单一目标,它只是基于过滤创建一个带有更新的version.txt的文件夹。然后,只有

  • 这个问题和这个问题很相似,除了环境和我得到这个错误的方式。我也试过答案中提供的解决方案,但没有运气。 我正在使用Eclipse在Computer1上开发一个Spring Boot应用程序。Computer1和Eclipse上的JDK/JRE版本是JDK13.0.1。 现在,我使用eclipse mvn install创建了一个fat-JAR,并将fat-JAR复制到Computer2。当我在Com