tjw*_*992 7 versioning cvs version-control branch wincvs
这似乎应该是这么简单,但我找不到任何似乎有效的解决方案......
我需要一个CVS命令,它给出了您已应用于文件的标记的名称,它将为您提供修订号.
CVS树结构:
(filename)
    |
    +--> 1.1-----(branch)
          |         |
          |      1.1.1.1---(tag1)
          |         |
          |      1.1.1.2---(tag2)
          |         |
          |      1.1.1.3---(tag3)
          |         |
          |         :
         1.2
          |
          |
          :
我能找到的最接近的是使用log带有-Q标志的命令,但这仍然提供了比我需要的更多的信息.
例如: cvs -Q log -h filename
将标记名传递给log命令似乎没有任何效果.
CVS版本信息:

我目前的解决方案是使用perl脚本来解析log命令的输出,但必须有一个更简单的方法...
将标签名称(带有 -r 选项)传递给 log 命令确实有效果,只是不是特别有用,而且它的效果被“-h”隐藏了。
通常,获取VERSION文件修订号的最简单方法(正常用例)是在其中包含关键字;IE:
# 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命令。