您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用git重写python __version__?

如何使用git重写python __version__?

最好将其作为包装的一部分,而不是在每次提交之后进行。

有两个主要选项:

使用git-archive包装,并使用export-subst属性。遗憾的是,您可以替换的内容仅限于中的占位符git log --format=...。例如,您可以编写__version__ = $Format:%H$文件,放入<filename> export-subst.gitattributes,然后在运行git archive时,将其更改为存档时使用的提交的完整哈希。这只是您要的内容,但我确实希望使用下一个选项。

作为打包过程(通常是编译后的软件包的构建过程)的一部分,自己进行操作并使用git describe。这将为您提供一个漂亮的漂亮字符串,如v1.7.4.1-59-ge3d3f7d,表示“ 59在标签v1.7.4.1处提交,在commit处ge3d3f7d”,然后您可以在打包/构建时以某种方式将其插入代码中的正确位置。这就是Git本身所做的;结果被转储到文件中,其内容被读取到makefile中,然后通过-D预处理器选项传递到构建中,并直接放入各种文件名(例如发行版tarball)中。

如果您确实真的想在每次提交之后执行此操作,则可以使用提交后的钩子,但是只有您(和您提供钩子的那些人)才能拥有它,并且很可能不同步- 您还必须具有结帐后挂钩等等。对于任何创建需要此版本号才能自己获取的版本的过程来说,这确实更好。

您还可以使用污迹/清洁过滤器,它更像您实际想要的(而不是每次提交后都简单)。

python 2022/1/1 18:45:51 有322人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶