2010-08-09 7 views
19

¿Hay algún comando que devuelva una lista de nombres de módulos contenidos en un repositorio de CVS?¿Cómo puedo enumerar todos los módulos en un repositorio de CVS?

Siendo un novato en CVS, imagino que debe haber algo en la línea de

cvs -d /usr/local/cvs listmodules 

¿Qué debería sustituir con listmodules para obtener una lista de todos los módulos dentro del repositorio CVS?


Para abordar el comentario de Dewfy cvs --help-commands, devuelve lo siguiente:

add   Add a new file/directory to the repository 
    admin  Administration front end for rcs 
    annotate  Show last revision where each line was modified 
    checkout  Checkout sources for editing 
    commit  Check files into the repository 
    diff   Show differences between revisions 
    edit   Get ready to edit a watched file 
    editors  See who is editing a watched file 
    export  Export sources from CVS, similar to checkout 
    history  Show repository access history 
    import  Import sources into CVS, using vendor branches 
    init   Create a CVS repository if it doesn't exist 
    kserver  Kerberos server mode 
    log   Print out history information for files 
    login  Prompt for password for authenticating server 
    logout  Removes entry in .cvspass for remote repository 
    pserver  Password server mode 
    rannotate Show last revision where each line of module was modified 
    rdiff  Create 'patch' format diffs between releases 
    release  Indicate that a Module is no longer in use 
    remove  Remove an entry from the repository 
    rlog   Print out history information for a module 
    rtag   Add a symbolic tag to a module 
    server  Server mode 
    status  Display status information on checked out files 
    tag   Add a symbolic tag to checked out version of files 
    unedit  Undo an edit command 
    update  Bring work tree in sync with repository 
    version  Show current CVS version(s) 
    watch  Set watches 
    watchers  See who is watching a file 

La versión CVS es 01/11/22.

+0

realmente quiero correr en ': ext:' modo, en caso de que marque la diferencia. – Zaid

Respuesta

15

Como ya se describió en this answer, hay básicamente tres formas de hacerlo. El que mejor se adapte a su situación depende, en primer lugar, de las versiones de CVS que esté utilizando tanto en el cliente como en el servidor y, en segundo lugar, de su definición de "módulos".

  1. Si se refiere a los módulos, ya que se pensaba originalmente por los autores de CVS, es decir, como entradas en el archivo CVSROOT/modules continuación cvs co -c o cvs co -s le dará eso, la única diferencia entre los dos es que este último ordenará la salida por "estado". Usted puede leer acerca del archivo de módulos aquí: http://cvsbook.red-bean.com/cvsbook.html#modules

  2. Si está utilizando al menos CVS 1.12.8 o CVSNT y su idea de módulos corresponde más a los directorios reales dentro del repositorio, y luego cvs ls debería ser lo que quieres.

  3. Por último, si usted es de hecho después de un directorio remoto lista, pero su servidor está ejecutando una versión anterior de CVS, luego está el truco de realizar primero un check out "falso" y luego simular una actualización recursiva:

    cvs -d [CVSROOT] co-l.

    cvs -n -d hasta

+0

¿Cuál es el objetivo de esta respuesta? Solo un comentario que apunta a otra respuesta – manojlds

+0

@Oliver, las respuestas que son básicamente solo enlaces no se consideran buenas, y pueden terminar siendo eliminadas (las tuyas ya están en la lista de banderas). Para evitar esto, considere citar la parte relevante de esa respuesta en su respuesta aquí (y asegúrese de dar atribución al autor original). Puede dejar el enlace a la respuesta original, pero de esta manera su respuesta será independiente. –

+1

@Ben: hecho. Yo también fui el autor de la respuesta original. –

0

Puede ejecutar

cvs ls 

para enumerar el árbol de CVS> = 1,11 (ver cvs --version), o ejecutar

cvs checkout CVSROOT/modules 

para ver el archivo de configuración del módulo.

+0

'ls' no se reconoce. Tampoco lo son los sinónimos [sugeridos por Dewfy] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437948#3437948) – Zaid

+0

Sí, usted necesita CVS 1.11 o superior. Creo que es necesario tanto para el cliente como para el servidor. Pero el archivo de módulos debe estar disponible incluso con versiones anteriores. – Mikel

1

Uso siguiente:

cvs -d /usr/local/cvs ls 

De acuerdo con esta http://www.cvsnt.org/manual/html/ls.html no son sinónimos: dir, lista, RLS

Y por supuesto no perdonan a revisar todos los comandos disponibles por:

cvs --help-commands 
+0

'ls' y sus sinónimos no se reconocen como un comando. Ver mi comentario en [respuesta de Mikel] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437915#3437915) – Zaid

+0

@Zaid - could por favor ejecute: cvs --help-commands y obtenga el resultado – Dewfy

+0

He actualizado mi publicación para responder a su pregunta – Zaid

Cuestiones relacionadas