如果您在文件夹中使用语义版本控制,如何获得前 5 个语义版本

Posted

技术标签:

【中文标题】如果您在文件夹中使用语义版本控制,如何获得前 5 个语义版本【英文标题】:how to get top 5 semantic versions if you are using Semantic Versioning in a folder 【发布时间】:2018-06-11 02:50:47 【问题描述】:

我有一个包含大量基于语义版本的 zip 文件的文件夹,我想获取前 5 个版本并删除其余版本。我想知道如何在一个查询中查询最新的前 5 个版本

        MyService- 1.0.2.5.zip
        MyService- 1.0.2.6.zip
        MyService- 1.0.2.7.zip
        MyService- 2.0.0.63.zip
        MyService- 2.0.0.64.zip
        MyService- 2.0.0.65.zip
        MyService- 2.0.0.66.zip and so on
        MyService- 3.0.0.11.zip
        MyService- 3.0.0.12.zip and so on 

        I want the top 5 or top 1 version is there any utility or function which gives me that abilitya

【问题讨论】:

“查询”是什么意思?文件夹不支持“查询”。你想写一个程序吗?使用哪种语言? 我想用 groovy 写一个程序,但即使 c# 也可以,我更想知道获得前 5 个版本的逻辑?有没有预定义的逻辑 解析文件名以提取版本,将版本字符串解析成包含主要、次要和补丁版本号的类,按文件名对文件进行分组,并为每个组按版本排序,然后只保留最后 5 个。 请提供更多信息。这个问题目前无法回答。 MyService- 1.0.2.5.zip MyService- 1.0.2.6.zip MyService- 1.0.2.7.zip MyService- 2.0.0.63.zip MyService- 2.0.0.64.zip MyService- 2.0.0.65.zip MyService- 2.0.0.66.zip 等等 MyService- 3.0.0.11.zip MyService- 3.0.0.12.zip 等等 我想要前 5 或前 1 的版本 是否有任何实用程序或功能可以让我有这种能力 【参考方案1】:

搜索Google for SemVer C#,会产生几个.NET 库和其他相关信息。 Google also list some Java libraries。

至于算法,使用SemVer Specification #11中指定的SemVer优先语义对列表进行排序,然后选择列表中的前N项。

【讨论】:

以上是关于如果您在文件夹中使用语义版本控制,如何获得前 5 个语义版本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PyTorch 在语义分割中获得前 k 个精度?

Asp.Net 5 语义版本控制

如何在 Jenkins 上处理语义版本控制

使用Laravel的语义版本控制进行包版本控制

使用语义发布获取下一个标签版本

npm学习之如何使用语义化版本