:B~ Contribuir al projecte

1~contributing-to-project Contribuir al projecte

Quan s'envia una contribució, s'ha d'identificar clarament el titular dels
drets d'autor i incloure la declaració de concessió de llicències
aplicables. Recordar que per a ser acceptada, la contribució ha de tenir una
llicencia igual que la resta del document, a saber, la versió de la GPL 3 o
superior.

Les contribucions al projecte, com ara traduccions i pegats, són molt
benvingudes. Qualsevol persona pot fer un lliurament directe al
repositori. No obstant això, demanem que s'enviïn els canvis grans a la
llista de correu per a parlar-ne en primer lloc. Veure la secció
{Contacte}#contact per a més informació.

El ${project} utilitza Git com a sistema de control de versions i gestió de
codi font. Com s'explica en {Repositoris Git}#git-repositories hi ha dues
branques principals de desenvolupament: *{debian}* i *{debian-next}*. Tothom
pot fer lliuraments a les branques debian-next dels repositoris live-boot,
live-build, live-config, live-images, live-manual i live-tools.

No obstant això, hi ha certes restriccions. El servidor rebutja:

_* Push que no són fast-forward.

_* Commits merge.

_* Afegir o eliminar etiquetes o branques.

Tot i que tots els lliuraments poden ser revisats, demanem que s'utilitzi el
sentit comú i es facin bons lliuraments amb bons missatges.

_* Escriure missatges de lliurament que consisteixen en oracions completes i
significatives en anglès, començant amb una lletra majúscula i acabant amb
un punt. En general, aquests començaran amb la forma
'Fixing/Adding/Removing/Correcting/Translating/...'.

_* Escriure bons missatges de lliurament. La primera línia ha de ser un
resum exacte dels continguts del lliurament, que s'inclourà en la llista de
canvis. Si es necessita fer algunes explicacions més, escriure a sota
deixant una línia en blanc després de la primera línea i després una altra
línia en blanc després de cada paràgraf. Les línies dels paràgrafs no han de
superar els 80 caràcters de longitud.

_* Fer lliuraments de manera atòmica, és a dir, no barrejar coses no
relacionades en el mateix lliurament. Fer un lliurament diferent per a cada
canvi que es faci.

2~ Fer canvis

Per tal de fer un push als repositoris, s'ha de seguir el següent
procediment. Aquí s'utilitza live-manual com a exemple, per tant, cal
substituir-lo pel nom del repositori amb que es desitja treballar. Per a
obtenir informació detallada sobre com editar live-manual veure {Contribuir
a aquest document}#how-to-contribute.

_* Obtenir la clau pública:

code{

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

}code

_* Afegir la següent secció a la configuració del vostre openssh-client:

code{

 $ cat >> ~/.ssh/config << EOF
 Host debian-live.alioth.debian.org
     Hostname debian-live.alioth.debian.org
     User git
     IdentitiesOnly yes
     IdentityFile ~/.ssh/keys/git@debian-live.alioth.debian.org
 EOF

}code

_* Fer una còpia del manual a través de ssh:

code{

 $ git clone ssh://git.debian.org/git/debian-live/live-manual.git
 $ cd live-manual && git checkout debian-next

}code

_* Assegurar-se de tenir el autor i el correu electrònic configurats al Git:

code{

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

}code

*{Important:}* Tenir en compte que s'han d'enviar els canvis a la branca *{debian-next}*.

_* Fer els canvis. En aquest exemple s'hauria d'escriure primer una nova
secció sobre aplicar pegats i després preparar-se per a afegir els fitxers i
escriure el missatge de la següent manera:

code{

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

}code

_* Fer un push al servidor:

code{

 $ git push

}code

2~translation-of-manpages Traducció de pàgines dels manuals

També es pot contribuir al projecte treballant en la traducció de les
pàgines dels manuals dels diferents paquets live-* que el projecte manté. El
procediment pot ser diferent, depenent de si s'està començant una traducció
des de zero o si es segueix treballant en una ja existent:

_* Continuar amb una traducció ja començada

Si es vol treballar en la traducció d'una llengua ja existent s'ha de fer
els canvis als fitxers que hi ha dins #{manpages/po/${LANGUAGE}/*.po}# i
després executar #{make rebuild}# des de dins del directori
#{manpages/}#. Això actualitzarà les pàgines a #{manpages/${LANGUAGE}/*}#

_* Començar una nova traducció des de zero

Per afegir una nova traducció de qualsevol de les pàgines dels manuals del
projecte s'ha de seguir un procediment similar. Es podria resumir de la
següent manera:

_2* Obrir el fitxer o fitxers que hi ha a #{manpages/pot/}# en el teu editor
preferit, com per exemple /{poedit}/, i guardar-lo com un fitxer .po a
#{manpages/po/${LANGUAGE}/}#. (S'haurà de crear el directori del
#{${LANGUAGE}/}# corresponent).

_2* Executar #{make rebuild}# dins el directori #{manpages/}# per a crear
els fitxers a #{manpages/${LANGUAGE}/}# que contindran les pàgines dels
manuals.

Recordar que cal afegir tots els directoris i fitxers, i després fer el
commit i finalment fer un git push al servidor git.

