:B~ Contribuire al progetto

1~contributing-to-project Contribuire al progetto

Quando si sottopone un contributo, si prega di indicare chiaramente il
detentore del copyright e di includere la licenza. Si noti che, per essere
accettato, il contributo deve essere distribuito con la stessa licenza del
resto del documento, ovvero la GPL versione 3 o successiva.

I contributi al progetto, come traduzioni e patch, sono estremamente
benvenuti. Chiunque può eseguire il commit direttamente sul repository;
tuttavia chiediamo di inviare le modifiche più corpose in mailing list, per
poterne prima discutere. Per maggiori informazioni vedere la sezione
{Contatti}#contact.

Il progetto Debian Live usa Git come sistema di controllo versione e
gestione del codice sorgente. Come spiegato in {Repository
git}#git-repositories ci sono due rami di sviluppo principali: *{debian}* e
*{debian-next}*. Tutti possono eseguire commit al ramo debian-next del
repository di live-boot, live-build, live-config, live-images, live-manual e
live-tools.

Tuttavia ci sono alcune restrizioni. Il server rifiuta:

_* push non fast-forward,

_* commit merge,

_* aggiunta o rimozione di tag e branch.

Anche se tutti i commit possono essere corretti, chiediamo di usare il buon
senso ed eseguire buoni commit con dei buoni messaggi.

_* Si scrivano messaggi costituiti da frasi in inglese esaurienti e utili,
inizianti con una lettera maiuscola e terminanti con un punto. Solitamente
cominceranno con la forma
"Fixing/Adding/Removing/Correcting/Translating/...". 

_* Scrivere buoni messaggi nei commmit. La prima riga deve contenere un
sunto accurato del contenuto del commit in quanto verrà incluso nel
changelog. Se si necessita di aggiungere ulteriori spiegazioni, scriverle
sotto lasciando una riga vuota dopo la prima e quindi un'altra vuota dopo
ogni paragrafo. Le righe non devono superare gli 80 caratteri.

_* Eseguire commit atomici, ovvero non mescolare cose non inerenti tra loro
nello stesso commit ma farne uno per ogni modifica apportata.

2~ Applicare le modifiche

Per eseguire il push ai repository è necessario seguire la seguente
procedura. Verrà usato live-manual come esempio per cui rimpiazzalo con il
nome del repository su cui si vuole lavorare. Per informazioni dettagliare
su come modificare live-manual si veda {Contribuire a questo
documento}#how-to-contribute.

_* Prelevare la chiave pubblica:

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

_* Aggiungere la seguente sezione alla propria configurazione di
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

_* Scaricare tramite ssh un clone del manuale:

code{

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

}code

_* Assicurarsi di avere impostato autore e indirizzo email:

code{

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

}code

*{Importante:}* Notare che tutte le modifiche vanno eseguite sul ramo *{debian-next}*.

_* Apportare le modifiche. In questo esempio si scrive prima una nuova
sezione che si occupa di applicare patch e quindi prepararla al commit
aggiungendo i file e scrivendo il messaggio in questo modo:

code{

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

}code

_* Inviare il commit al server:

code{

 $ git push

}code
