Contribuir

Sería una buena idea unirse a nuestra lista de correo.
La conversación aquí es en inglés, incluso aunque ésta página web y el propio Subsurface están disponibles en muchos idiomas, 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 (la mayoría de los desarrolladores activos usa 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 idiomas. Nuestras traducciones se manejan de forma centralizada en Transifex; por favor, crea una cuenta ahí y luego solicita unirte al equipo de Subsurface.

Si quisieras contribuir con parches que corrijan errores o añadan nuevas funcionalidades, 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 el código fuente más reciente (mira en la página Compilar para ver cómo).
cd subsurface
git checkout master
git pull

Bien, ahora ya tenemos la última versión. Crea una rama de trabajo para realizar allí tu trabajo:
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 ésta parte y el hecho de que insistamos en que todas las contribuciones cuenten con una línea “Signed-off-by:”).
Si deseas cambiar el mensaje, “git commit --amend” es la forma de hacerlo. Si lo deseas divide tus cambios en 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 un “pull request” o bien ejecutar
git format-patch master..devel
Lo que creá varios archivos que tendrán nombres como 0001-Commit-title.patch.

Cuando envíes código, por favor, envía parches firmados o bien un “pull request” 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 consiste en unas pocas líneas de texto, explicando
las cosas con más detalle, posiblemente dando algunos detalles
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: quien-lo-reportó
Signed-off-by: Tú Nombre

La linea de encabezado debe ser muy significativa, y realmente debe ser una sola linea. La línea de encabezdo 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