¿Cómo puedo get un resumen de mis conflictos de cvs al hacer una actualización de cvs en la command-line?

¿Existe una manera fácil de get un resumen de conflictos después de ejecutar una cvs update ?

Trabajo en un proyecto grande y después de hacer un trabajo necesito hacer una actualización. La list de cambios que vuelve del command cvs update tiene varias páginas y me gustaría ver solo la list de conflictos (comienza con 'C') repetida al final de la salida del command cvs update.

La solución debe funcionar desde la línea de command.

Si mi salida normal es:

 M src/file1.txt M src/file2.txt cvs server: conflicts found ... C src/file3.txt M src/file4.txt M src/file5.txt 

Quiero que mi nueva salida sea:

 M src/file1.txt M src/file2.txt cvs server: conflicts found ... C src/file3.txt M src/file4.txt M src/file5.txt Conflict Summary: C src/file3.txt 

Quiero que sea un solo command (posiblemente un guion corto o un alias) que emita la salida normal de cvs a medida que sucede, seguido de un resumen de conflictos.

Dada la especificación, parece que necesita una adaptación menor de la solución de Martin York (porque eso solo muestra los conflictos y no la información de logging normal). Algo como esto, que podría llamarse 'cvsupd':

 tmp=${TMPDIR:-/tmp}/cvsupd.$$ trap "rm -f $tmp; exit 1" 0 1 2 3 13 15 cvs update "$@" | tee $tmp if grep -s '^C' $tmp then echo echo Conflict Summary: grep '^C' $tmp fi rm -f $tmp trap 0 exit 0 

Los commands de captura aseguran que el file de logging no se quede. Captura las señales normales – HUP, INT, QUIT, PIPE y TERM (respectivamente) y 0 atrapa cualquier otra salida del shell.

No tengo cvs a mano cuál es el formatting exacto de la salida de actualización cvs

Me parece recordar C <nombre de file>
Si es así, podrías usar:

actualización cvs | tee log | grep "^ C"

La salida completa de cvs se guarda en el logging para usar en otro punto. Luego grep para todas las líneas que comienzan con 'C'

Espero que ayude.