Uso del CVS

CVS es un programa que se usa para controlar el trabajo que se realiza de manera simultanea por varias personas sobre un mismo material. Con él, cada usuario crea una copia local del repositorio principal. Las copias locales pueden estar en la misma máquina o en cualquier lugar del mundo. Los usuarios pueden modificar la copia local como deseen y, cuando el material modificado esté preparado, enviar los cambios al repositorio principal.

Para un accesso de sólo lectura puede usar la interfaz web. Existen también muchos clientes gráficos como Cervisia de KDE. Este documento describe el flujo de trabajo con el programa de linea de órdenes cvs, aunque otros clientes ofrecen funciones similares.

CVS no le permitirá enviar un fichero si la copia del repositorio principal se ha modificado desde la última actualización que usted realizó. Normalmente esto no es problema, ya que puede actualizar su copia local. Si las modificaciones realizadas en la copia del repositorio central eran de partes diferentes a aquellas en las que usted trabajaba, los cambios se fusionan silenciosamente. Si los cambios afectan al mismo área en la que estuvo trabajando, le avisará de que hay un conflicto y usted tendrá que editar el fichero y corregir el problema antes de enviarlo.

A continuación se usará como ejemplo un acceso anónimo. Si usted tiene acceso a una cuenta que le dé permisos de escritura en el repositorio, debería usarla. Si está planeando hacer cambios, antes de empezar debería conseguir una cuenta, ya que los usuarios anónimos no pueden enviar cambios. Para más información vea la sección sobre acceso con escritura.

Para empezar a usar CVS, primero ha de autenticarse en el servidor CVS:

   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml login

(pulse intro cuando se le pida la clave)

Para bajar una copia de los ficheros wml a su máquina local, necesita usar

   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout webwml

Con ello puede obtener un subconjunto de páginas como éste:

   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout -l \
          webwml webwml/<idioma>
   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout \
          webwml/Perl webwml/english/template webwml/<idioma>/Pics
   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout \
          <ruta a los ficheros deseados>

Puede repetirlo para todos los subdirectorios o ficheros que quiera. La segunda línea incluye todos los ficheros que necesitará si quiere crear HTML a partir de los ficheros WML. En realidad no están permitidas las descargas parciales, por lo que las instrucciones anteriores puede que no siempre funcionen.

Si tiente una cuenta en Alioth, con una clave SSH pública, puede usarla de esta forma:

   cvs -d :ext:usuario@cvs.debian.org:/cvs/webwml checkout webwml/english/doc

Desde entonces, no necesitará usar la parte '-d :ext:...' Pero cada pocos días tendrá que ejecutar

   cvs update -d

para actualizarse con los ficheros del repositorio que hayan cambiado. La opción de actualización -d añadirá automáticamente los nuevos directorios. Esto también revisa los directorios que fueron omitidos en el caso de que usted realizara una descarga parcial — en ese caso es posible que quiera usar el script cvsup.py.

Puede que quiera crear un fichero ~/.cvsrc, de forma que no tenga que teclear las mismas opciones constantemente. Esto puede contener por ejemplo:

cvs -z9
update -d -P
diff -u

Lo que sigue es para aquellos que tienen permiso de escritura en el repositorio. Cuando termine con una página, puede enviar sus cambios al repositorio usando

   cvs commit <fichero>.wml

o

   cvs commit <directorio>    (para entregar todos los cambios en <directorio>)

o

   cvs commit          (para entregar todos los cambios en el directorio actual y sus subdirectorios)

Si es la primera persona en traducir una página, necesita hacer

   cvs add <file>.wml

antes de enviarla. Tenga en cuenta que cvs add no es recursivo, por lo que necesitará añadir un directorio antes de añadir su contenido.

Para más información sobre CVS, use info cvs.

Si incluye Closes: #nnnnnn en su mensaje de «commit», entonces el informe de fallo con número #nnnnnn se cerrará automáticamente cuando entregue los cambios. La forma concreta de esto es la misma que se indica en la política de Debian.

Many Debian websites support SSL, please use HTTPS links for the ones that do support SSL. Some Debian/DebConf/SPI/etc websites do not have HTTPS support or are only signed by SPI and not by any SSL CA that is trusted by browsers outside of Debian, we should avoid linking to https: versions of these websites so that people not using Debian don't get errors they may not understand. The CVS repository will reject commits containing plain HTTP links for Debian websites that support HTTPS or containing HTTPS links for the Debian/DebConf/SPI websites that are known to either not support HTTPS or use certificates signed only by SPI.

Muchos sitios web de Debian soportan SSL, por favor use enlaces HTTPS para los que soportan SSL. Algunos sitios web de Debian/DebConf/SPI/etc no tienen soporte HTTPS o sólo están firmados por SPI y no por una Autoridad de Certificación SSL fuera de Debian en la que confíen los navegadores, por lo que debería evitarse enlazar a versiones https: de esos sitios web para que la gente que no usa Debian no vea errores que quizá no entiendan. El repositorio CVS rechazará cambios que contengan enlaces simples HTTP para sitios que soportan HTTPS, o que contengan enlaces HTTPS a sitios web de Debian/DebConf/SPI que se sabe que o bien no soportan HTTPS o bien usan certificados firmados solamente por SPI.

Acceso con escritura al CVS

Si ya sabe cómo ayudar, y ha proporcionado suficientes parches aceptados por el equipo web o de traducción, podría obtener acceso de escritura a la página web: solicite por favor unirse al proyecto webwml en Alioth (tendrá que crear una cuenta de Alioth si aún no tiene una). Por favor escriba algo útil en su solicitud, como en qué idioma o qué parte del sitio web tiene planeado trabajar, y quién respondería por usted.