我将API从svn
切换到git
,这造成了如何存储和向用户展示API版本信息的问题。以前,我在使用svn关键字扩展和HeadURL关键字提取分支或标签名称时,在进行标签签出时获得了版本信息,并将其存储在文件中,以便稍后调用/ version时读取。
通过广泛的研究,我发现git
不能提供与svn
关键字扩展等效的功能,并且使用.gitattributes
和过滤器的解决方法似乎很难获得标签/分支信息以进行自定义关键字替换。
但是提供版本信息的API是很规范的,我敢肯定他们中的大多数都使用git来进行版本控制。那么,为我的问题存储和显示API版本信息(标记或分支名称)的最佳选择是什么?还是可以提供另一种在结帐时将分支/标记信息存储在文件中的方法?
答案 0 :(得分:0)
API版本与提交哈希或标记不同。例如,您可能具有对软件版本0。*,1.0、1.1、2.0和2.1有效的API版本1,但对切换到API版本2的3.0版本无效。后来,软件版本2.2支持API 1和API。 API 2。
这意味着该API版本不应由发行版本身定义。更改API是一项单独的操作。从发行版本信息(标签或其他内容)到支持的API集的映射本质上是发行代码的一部分,因此基于(某些文件集的)内容在版本中,而不是版本的外部编号。因此,这里根本没有冲突:您只需要适当地更新内容,并在适当的时候发布即可。