获取WinCvs中标记文件的修订号

时间:2015-05-13 21:00:34

标签: version-control branch versioning cvs wincvs

这看起来应该很简单,但我找不到任何似乎有用的解决方案......

我需要一个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命令,但这仍然提供了比我需要的更多信息。

ex:cvs -Q log -h filename

将标记名传递给log命令似乎没有效果。

CVS版本信息:

enter image description here

我目前的解决方案是使用perl脚本来解析log命令的输出,但必须有一个更简单的方法......

1 个答案:

答案 0 :(得分:1)

将标记名称(带有-r选项)传递给log命令确实有效,只是不是特别有用,并且" -h"隐藏了它的效果。 / p>

通常,获取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命令。