Uno etiquetas lista puede o ramas presentes en un módulo usando el siguiente comando. Esto es algo recogido de another answer at SO
Para una lista de todas las etiquetas:
cvs -Q -d :pserver:*User*:*Pass*@*HostName*:/cvsroot rlog -h *Module*| awk -F"[.:]" '/^\t/&&$(NF-1)!=0{print $1}' | sort -u
a la lista de todas las ramas:
cvs -Q -d :pserver:*User*:*Pass*@*HostName*:/cvsroot rlog -h *Module*| awk -F"[.:]" '/^\t/&&$(NF-1)==0{print $1}' | sort -u
Este utiliza los números de la rama de magia para identificar es un enlace simbólico es una rama o una etiqueta
Como skaffman mencionado en una de las respuestas en esta página, no es posible determinar la fecha cuando se crea la etiqueta. Lo mejor que se puede hacer es identificar una fecha aproximada considerando la fecha más reciente enumerada en los registros para esa etiqueta.
Algo como esto:
cvs -Q -d :pserver:*User*:*Pass*@*HostName*:/cvsroot rlog -N -S -r*TagName* *Module* | grep ^date: | sort | tail -1 | cut -d\; -f1 | sed -e 's/date: //'
Este es un script bash que trabajé hacia fuera para dar la lista de todas las etiquetas con su aprox. fecha de creación
#!/bin/bash
CVSROOT=$1
PROTOCOL=$2
LOGIN=$3
PASSWORD=$4
MODULE=$5
REVISION=$6
OUTPUT=$7
CVS_HOST=""
if test "${PASSWORD:-t}" != "t" ; then
CVS_HOST=":${PROTOCOL}:${LOGIN}:${PASSWORD}@${CVSROOT}"
else
CVS_HOST=":${PROTOCOL}:${LOGIN}@${CVSROOT}"
fi
CVS_REVISION=""
if test "${REVISION:-t}" != "t" ; then
CVS_REVISION="-r${REVISION}"
fi
echo "\"Tag Name\",\"Create Date\"" > ${OUTPUT}
echo "EXEC: cvs -Q -d ${CVS_HOST} rlog -h -S ${CVS_REVISION} ${MODULE} | awk -F"[.:]" '/^\t/&&\$(NF-1)!=0{print \$1}' | sort -u"
cvs -Q -d ${CVS_HOST} rlog -h ${CVS_REVISION} ${MODULE} | awk -F"[.:]" '/^\t/&&\$(NF-1)!=0{print $1}' | sort -u | while read tagName
do
#get approx create date
echo "EXEC: cvs -Q -d ${CVS_HOST} rlog -N -S -r$tagName ${MODULE} | grep ^date: | sort | tail -1 | cut -d\; -f1 | sed -e 's/date: //'"
date=`cvs -Q -d ${CVS_HOST} rlog -N -S -r$tagName ${MODULE} | grep ^date: | sort | tail -1 | cut -d\; -f1 | sed -e 's/date: //'`
#Save to output file
echo "\"$tagName\",\"$date\"" >> ${OUTPUT}
done
Parece que el comando list all tags funciona, pero aparece el error "Terminated with fatal signal 11" antes de imprimir la salida. – tjwrona1992