Contribuir

Podría ser una buena idea unirse a nuestra lista de correo.
La conversación aquí es en inglés, incluso aunque esta web y el propio Subsurface estén disponibles en muchos lenguajes, la lengua en la que todos nos comunicamos es el inglés. En realidad basta con un “inglés chapurreado” … :-)

También suele haber algunos desarrolladores en el canal #subsurface en Freenode.

Hay muchas maneras en las que puedes contribuir. Siempre andamos buscando “testers” que deseen probar el código mientras se está desarrollando. Necesitamos especialmente personas que utilicen Windows y Mac (al ser la mayoría de los desarrolladores gente de Linux). También andamos siempre buscando voluntarios que ayuden revisando y mejorando la documentación. Y, muy importante, buscamos traductores dispuestos a traducir el software a diferentes lenguajes. Nuestras traducciones se manejan centralizadamente en Transifex; por favor, registra una cuenta allí y luego solicita unirte al equipo de Subsurface.

Si quisieras contribuir con parches que corrijan errores o añadan nuevas prestaciones, eso sería especialmente bienvenido. A continuación una pequeña introducción acerca de crear “commits” que puedas enviar a la lista de correo. Se pueden encontrar muchos más detalles sobre el uso de “git” en el manual de usuario de git.

Empieza por conseguir las últimas fuentes (mira en la página Compilar para ver como).
cd subsurface
git checkout master
git pull

Ok, ahora estamos en la última versión. Crea una rama de trabajo para conservar allí tu desarrollo:
git checkout -b devel
Edita el código (o la documentación), compila, edita… Luego crea un “commit”:
git commit -s -a
Dependiendo de tu sistema operativo esto abrirá un editor. Normalmente podrás definir cual ajustando la variable de entorno GIT_EDITOR Aquí introducirás el mensaje del “commit”. La primera línea es el título. Haz que sea breve y precisa. Luego una explicación más larga (después explicamos con más detalle esta parte y el hecho de que insistamos en que todas las contribuciones cuenten con una linea “Signed-off-by:”).
Si deseas cambiar el mensaje, “git commit --amend” es la forma de hacerlo. Si lo deseas reparte tus cambios entre múltiples “commits” más pequeños. Luego, cuando hayas acabado, existen dos posibilidades . la que encuentres más simple dependerá un poco de lo familiarizado que estés con GitHub. Se puede hacer “push” de las modificaciones a GitHub y crear una “pull request” o bien ejecutar
git format-patch master..devel
lo que creará varios ficheros que tendrán nombres como 0001-Commit-title.patch.

Cuando envíes código, por favor, envía parches firmados o bien una petición “pull” con “commits” firmados. Si no los firmas, no los aceptaremos. Esto supone añadir una linea que dice “Signed-off-by: Nombre ” al final de cada “commit”, indicando que tú escribiste el código y tienes derecho a cederlo como parche de código abierto.
Ver: Signed-off-by Lines

Escribe también, por favor, buenos mensajes para “git commit”. Un buen mensaje se parece a esto:
Encabezamiento: explicando el "commit" en una línea
El cuerpo del mensaje son unas pocas líneas de texto, explicando
las cosas con más detalle, posiblemente dando alguna información
acerca del fallo que estás corrigiendo, etc etc.

El cuerpo del mensaje puede constar de varios párrafos, y, por favor, haz ajustes de línea correctos y mantén las columnas de menos de 74 caracteres aproximadamente. De esta forma "git log" mostrará bien las cosas aunque estén indentadas.

Reported-by: whoever-reported-it
Signed-off-by: Your Name

La línea de cabecera debe ser muy significativa, y realmente debe ser una única linea. La línea de encabezamiento es lo que muestran herramientas como gitk y shortlog, y debe resumir el cambio en una línea de texto legible, independientemente de la explicación, que será más amplia.

gitk sample

Ejemplo con gitk