Obtenga el número de revisión de un file labeldo en WinCvs

Parece que debería ser tan simple, pero no puedo encontrar ninguna solución que parezca funcionar …

Necesito un command de CVS que, dado el nombre de una label que ha aplicado a un file, le dará el número de revisión.


Estructura de tree CVS:

(filename) | +--> 1.1-----(branch) | | | 1.1.1.1---(tag1) | | | 1.1.1.2---(tag2) | | | 1.1.1.3---(tag3) | | | : 1.2 | | : 

Por ejemplo: Usando un command CVS, dado el nombre de la label "tag2", ¿cómo puedo get CVS para darme el número de revisión "1.1.1.2"?


Lo más cercano que puedo encontrar es usar el command log con el indicador -Q , pero eso todavía me da mucha más información de la que necesito.

ex: cvs -Q log -h filename

Pasar el nombre de label al command de log parece no tener ningún efecto.


Información de la versión de CVS:

enter image description here


Mi solución actual es usar un script de Perl para analizar el resultado del command de log pero tiene que haber una manera más simple …

Pasar un nombre de label (con una opción -r) al command de logging tiene un efecto, pero no es particularmente útil y su efecto está oculto por "-h".

Por lo general, la manera más fácil de get un número de revisión para su file VERSION (el caso de uso normal para esto) es include una palabra key en él; es decir:

 # Thu 21 May 08:40:59 BST 2015 THISREV="$Revision$" 

Nota: para get un número de versión del repository, este file VERSION debe estar comprometido cada vez que realice un compromiso con el repository.

Si necesita una revisión para un file específico, básicamente está recurriendo a scripts de la parte de "nombres simbólicos" del logging. Entonces para r-1-0-0 haces esto:

 cvs -Q log -h VERSION | awk '/^\tr-1-0-0:/ {print $NF;}' 

No hay un equivalente directo del command git describe .