gpt4 book ai didi

git - 如何在 Git/HG/Bzr 中找到当前版本的最新标签?

转载 作者:太空狗 更新时间:2023-10-29 13:48:15 26 4
gpt4 key购买 nike

目前在我的实践中我使用 VERSION 文件来存储:

major=2minor=0fix=1

这意味着产品版本 v2.0.1 或更高版本的来源。

在每次发布之前,我必须提交对此文件的更新,以便使用名称 tag2.0.1release-2.0.1 覆盖以上内容(而不是以前的版本!) .

我认为可以通过从构建脚本自动生成 VERSION 文件来避免这项工作。

查看修订历史:

  +--+-----+----------------------+-YY--+----+------+------+-HH-->  dev|     |            ^     ^   |     |    |      |      |     |     |            |     |   |     |    v      v      v     |     |            |     |   |     |    +--+------+-ZZ---+-->     |     |            |     |   |     |    b2 |      |      |     |     |            |     |   |     |       v      v      v     |     |            |     |   |     |      t2.0.0 t2.0.1 t2.1.0     v     v            |     |   v     v    t0.1.0 +---+--XX--+-+---+-+-----+------+------+------+------+--->           b1  |      |     |       |      |      |      |      |               v      v     v       v      v      v      v      v              t1.0.0 t1.0.1 t1.0.2 t1.1.0 t1.2.0 t1.2.1 t1.2.2 t1.2.3

XX 点版本为 1.0.0YY 点版本为 1.0.2,点 ZZ 版本是 2.0.1

对于点HH是不知道怎么设置版本。我认为它必须是 1.0.2,因为我们没有将 dev 分支与发布分支 b2 merge 。

我读了:

  $ hg help revsets

但看不到如何找到最接近给定修订的标签。对于 Git 和 Bzr,我的经验较少...

或者,如果这不可能,我会寻找论据。我也喜欢听听如何避免手动维护 VERSION 文件(如果可能的话)(或者争论为什么这不可能)。

PS.需要 VERSION 文件来维护包依赖性并在用户反馈中识别产品源状态。

PSS。 nearest tag to given revision 术语看起来有些模糊,但每个开发人员都可以说出它适用于哪个版本的产品。为什么这个做不了机器?

最佳答案

你可以使用这样的东西:

hg log --template "{latesttag}-{latesttagdistance}-{node|short}\n" --rev <REV>

返回的字符串如下:

2.1.4-2-12eeab7a8073

这告诉我们:

  • 此次提交之前的最新标签是 2.1.4
  • 当前修订是超过该标记的 2 次提交
  • 变更集 ID 为 12eeab7a8073

了解 templates获取更多信息。

Git 有一个内置的 describe提供相同信息的命令。但是,您必须了解默认情况下它仅适用于带注释的标签(有关详细信息,请参见手册页)。

关于git - 如何在 Git/HG/Bzr 中找到当前版本的最新标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8127338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com