:B~ Contribuir al proyecto

1~contributing-to-project Contribuir al proyecto

Cuando se envía una contribución se debe identificar claramente su copyright
e incluir la declaración de licencia. Se hace notar que para ser aceptada,
una contribución debe ser publicada bajo la misma licencia que el resto del
documento, es decir, GPL versión 3 o posterior.

Las contribuciones al proyecto, tales como traducciones y parches, son muy
bienvenidas. Cualquiera puede hacer una entrega en los repositorios, sin
embargo, a la hora de hacer grandes cambios, es conveniente enviarlos a la
lista de correo para debatirlos primero. Ver la sección {Contacto}#contact
para más información.

El proyecto Debian Live utiliza Git como sistema de control de versiones y
gestión de código fuente. Como se explica en {Repositorios
Git}#git-repositories hay dos ramas principales de desarrollo: *{debian}* y
*{debian-next}*. Todo el mundo puede hacer entregas a las ramas debian-next
de los repositorios live-boot, live-build, live-config, live-images,
live-manual y live-tools.

Sin embargo, existen ciertas restricciones. El servidor rechazará:

_* Entregas que no sean fast-forward

_* Entregas que hagan fusiones.

_* Añadir o borrar etiquetas o ramas.

A pesar de que todas las entregas pueden ser revisadas, pedimos usar el
sentido común y  hacer buenos commits con mensajes de commit adecuados.

_* Hay que escribir mensajes de entrega que consistan en una frase en ingles
con significado completo, comenzando con una letra mayúscula y acabando con
un punto final. Es habitual comenzar estas frases con la forma
'Fixing/Adding/Removing/Correcting/Translating/...'.

_* Escribir buenos mensajes de entrega. La primera frase debe ser un resumen
exacto de los contenidos del commit, que se incluirá en la lista de
cambios. Si se necesita hacer algunas aclaraciones, escribirlas debajo
dejando una línea en blanco después de la primera y luego otra línea en
blanco después de cada párrafo. Las líneas de los párrafos no deben superar
los 80 caracteres de longitud.

_* Hacer entregas de forma atómica, es decir, no mezclar cosas no
relacionadas en el mismo commit. Hacer un commit diferente para cada cambio
que se realice.

2~ Realizar cambios

Para hacer una entrega a los repositorios, se debe seguir el siguiente
procedimiento. Aquí se utiliza live-manual como ejemplo, por eso hay que
sustituirlo por el nombre del repositorio con el que se desea trabajar. Para
obtener información detallada sobre cómo editar live-manual ver {Contribuir
a este  documento}#how-to-contribute.

_* Obtener la clave pública de entrega:

code{

 $ mkdir -p ~/.ssh/keys
 $ wget http://live.debian.net/other/keys/git@live.debian.net -O ~/.ssh/keys/git@live.debian.net
 $ wget http://live.debian.net/other/keys/git@live.debian.net.pub -O ~/.ssh/keys/git@live.debian.net.pub
 $ chmod 0600 ~/.ssh/keys/git@live.debian.net*

}code

_* Añadir la siguiente sección en el fichero de configuración de
openssh-client:

code{

 $ cat >> ~/.ssh/config << EOF
 Host live.debian.net
     Hostname live.debian.net
     User git
     IdentityFile ~/.ssh/keys/git@live.debian.net
 EOF

}code

_* Obtener un clon del manual mediante git utilizando ssh:

code{

 $ git clone git@live.debian.net:/live-manual.git
 $ cd live-manual && git checkout debian-next

}code

_* Acordarse de configurar el autor y el email en Git:

code{

  $ git config user.name "John Doe"
  $ git config user.email john@example.org

}code

*{Importante:}* Recordar que hay que enviar los cambios a la rama *{debian-next}*.

_* Efectuar los cambios. En este ejemplo, primero se escribiría una nueva
sección sobre cómo aplicar parches y luego se añadirían los ficheros y se
escribiría el mensaje de la siguiente manera:

code{

 $ git commit -a -m "Adding a section on applying patches."

}code

_* Para finalizar se realizará la entrega al servidor:

code{

 $ git push

}code
