我想知道如何你在那里处理有兴趣 撞版本号 为新版本问题。
如何处理相关文件(如手册页等)中的版本号
该软件是使用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的参考,这是解决相同问题的人们写的几页:
这两个都依赖于将版本号存储在源代码树中某个位置的文件中。
我还遇到了一个叫做0release的对象,它声称可以自动创建版本(以及设置版本号)。