Enumera todos los files registrados en un solo cvs commit

En general, nuestras correcciones / parches para cualquier error implican cambios en múltiples files y haremos commit de todos estos files en una sola toma.

En SVN, para cada confirmación (puede implicar varios files), incrementará el número de revisión del repository completo en uno. Por lo tanto, podemos vincular fácilmente todos los files múltiples que se enviaron en una única confirmación.

Ahora la dificultad con el mismo caso en CVS es que incrementará los numbers de revisión de todos los files individualmente. Digamos si una confirmación implica los siguientes files:

file1.c // revisión asignada como parte de este commit..1.5.10.2
file2.c // revision asignada como parte de este commit..1.41.10.1

y el comentario dado para este commit es "First Bug Fix".

Ahora, la única forma de get todos los files registrados como parte de este compromiso es search en todos los loggings de cvs para comentar "First Bug Fix" y esperemos que devuelva solo las dos revisiones de file mencionadas anteriormente.

Por favor, comparta sus puntos de vista sobre si hay alguna forma mejor en CVS para realizar un seguimiento de todos los files registrados en una única confirmación en lugar de retransmitir en el comentario dado como parte de la confirmación.

Creo que CVSps podría hacer lo que estás buscando.

"CVSps es un progtwig para generar información de" parche "de un repository de CVS. Un parche en este caso se define como un set de cambios realizados en una colección de files, y todos se comprometen al mismo time (utilizando un solo 'cvs commit' command). Esta información es valiosa para ver el outlook general de la evolución de un proyecto de cvs. Mientras cvs rastrea la información de revisión, a menudo es difícil ver qué cambios se cometieron "atómicamente" al repository ".

Este cvsps se basa en el cliente cvs. Asegúrese de tener la versión adecuada de cvs que admita el command rlog (1.1.1)

CVS no tiene soporte inherente para "transactions".

Necesitas un poco de pegamento adicional para hacer esto. Afortunadamente, todo esto se ha hecho por usted y está disponible en una muy buena extensión llamada "cvszilla".

La página de inicio está aquí:

http://www.nyetwork.org/wiki/CVSZilla

Esto también se relaciona con CVSweb, que es una gran manera de navegar a través de sus modules CVS a través de una GUI basada en la web.

Quizás la tarea ANT CvsChangeLog es otra opción. Ver http://ant.apache.org/manual/Tasks/changelog.html . Proporciona date y hora para un post de logging. Puede generar buenos informes con XSLT; pruebe el ejemplo que se encuentra en la parte inferior de la página de manual de ANT.

Sé que es tarde para una respuesta, pero quizás otros usuarios se encuentren con esto como yo lo hice (buscando) y aprecien la integración de ANT.

OK, acabo de instalar cvsps y lo ejecuté desde el nivel superior. Aquí hay una muestra de la salida … este es uno de los pocos cientos sets de parches en mi module. Tenga en count que, de hecho, esto funciona en diferentes treees de directorys.

--------------------- PatchSet 221 Date: 2009/04/22 22:09:37 Author: jlove-ext Branch: HEAD Tag: LCA_v1_0_0_0_v6 Log: Bug: 45562 Check the length of strings in messages. Namely: * Logical server IDs cannot be more than 18 characters (forcing a TCSE protocol requirement). * Overall 'sid' (filter) search string length cannot be more than 500 (this is actually more than the technical maximum messages are allowed, but is close). Alarm messages and are now not going to crash either as the alarm text is shortened if necessary by the LCA. Members: catalogue/extractCmnAlarms.pl:1.2->1.3 programs/ldapControlAgent/LcaCommon.h:1.18->1.19 programs/ldapControlAgent/LcaUtils.cc:1.20->1.21 programs/ldapControlAgent/LcaUtils.h:1.6->1.7 programs/ldapControlAgent/LdapSession.cc:1.61->1.62 tests/cts-45562.txt:INITIAL->1.1 

Entonces, esto puede hacer lo que quieras. Bonito, Joakim. Sin embargo, como se mencionó, CVSzilla hace mucho más que esto:

  • Repositorios CVS navegables por la web (a través de CVSweb).
  • Transacciones navegables por la web.
  • Admite transactions entre modules.
  • Genera commands CVS (usando 'cvs -j') para fusionar patchsets en otras twigs.
  • Integración con bugzilla (las transactions se registran automáticamente contra errores).

Si todo lo que desea es solo la información del parche, vaya con cvsps. Si está buscando usar CVS en proyectos grandes durante un largo período de time y está pensando en usar bugzilla para su seguimiento de errores, entonces le sugiero que busque en CVSzilla.