这看起来应该很简单,但我找不到任何似乎可行的解决办法.
我需要一个CVS命令,给出您已经应用到文件中的标记的名称,它将给出修改号。
CVS树结构:
(filename)
|
+--> 1.1-----(branch)
| |
| 1.1.1.1---(tag1)
| |
| 1.1.1.2---(tag2)
| |
| 1.1.1.3---(tag3)
| |
| :
1.2
|
|
:例如:使用CVS命令,给定标签名"tag2",我如何才能让CVS给出修订号"1.1.1.2"?
我能找到的最接近的东西是使用带有log标志的-Q命令,但这仍然给了我比我需要的更多的信息。
例:cvs -Q log -h filename
将标签名传递给log命令似乎没有任何效果。
CVS版本信息:

我目前的解决方案是使用perl脚本解析log命令的输出,但是必须有一种更简单的方法.
发布于 2015-05-21 07:57:47
将标记名(带有-r选项)传递给log命令确实有效果,只是没有特别有用的效果,其效果由"-h“隐藏。
通常,获取VERSION文件的修订编号(此文件的正常用例)的最简单方法是在其中包含一个关键字;即:
# Thu 21 May 08:40:59 BST 2015
THISREV="$Revision$"注意:要获得存储库版本号,每次提交回购文件时,VERSION文件都必须提交。
如果您需要对某个特定的文件进行修改,那么您基本上就会从日志的“符号名称”部分返回脚本。因此,对于r-1-0-0,您可以这样做:
cvs -Q log -h VERSION | awk '/^\tr-1-0-0:/ {print $NF;}'没有与git describe命令直接等效的命令。
https://stackoverflow.com/questions/30225099
复制相似问题