作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
目前在我的实践中我使用 VERSION 文件来存储:
major=2minor=0fix=1
这意味着产品版本 v2.0.1 或更高版本的来源。
在每次发布之前,我必须提交对此文件的更新,以便使用名称 tag2.0.1 或 release-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.0,YY 点版本为 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
这告诉我们:
了解 templates获取更多信息。
Git
有一个内置的 describe
提供相同信息的命令。但是,您必须了解默认情况下它仅适用于带注释的标签(有关详细信息,请参见手册页)。
关于git - 如何在 Git/HG/Bzr 中找到当前版本的最新标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8127338/
我是一名优秀的程序员,十分优秀!