€•Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒEnglish”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/process/5.Posting”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Simplified)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/zh_CN/process/5.Posting”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/zh_TW/process/5.Posting”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/ja_JP/process/5.Posting”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/ko_KR/process/5.Posting”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/sp_SP/process/5.Posting”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒItalian”uh1h hhŒ _document”hŒsource”NŒline”NubhŒwarning”“”)”}”(hŒ×In caso di dubbi sulla correttezza del contenuto di questa traduzione, l'unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le :ref:`avvertenze `.”h]”hŒ paragraph”“”)”}”(hŒ×In caso di dubbi sulla correttezza del contenuto di questa traduzione, l'unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le :ref:`avvertenze `.”h]”(hŒˇIn caso di dubbi sulla correttezza del contenuto di questa traduzione, l’unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le ”…””}”(hhŠhžhhŸNh Nubh)”}”(hŒ!:ref:`avvertenze `”h]”hŒinline”“”)”}”(hhłh]”hŒ avvertenze”…””}”(hhˇhžhhŸNh Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1hľhhąubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ$translations/it_IT/process/5.Posting”Œ refdomain”hŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œ it_disclaimer”uh1hhŸŒ3Documentation/translations/it_IT/disclaimer-ita.rst”h KhhŠubhŒ.”…””}”(hhŠhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhÖh KhhŁubah}”(h]”h ]”h"]”h$]”h&]”uh1hĄhhhžhhŸhÖh NubhŒ field_list”“”)”}”(hhh]”(hŒfield”“”)”}”(hhh]”(hŒ field_name”“”)”}”(hŒOriginal”h]”hŒOriginal”…””}”(hhóhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hńhhîhŸŒR/var/lib/git/docbuild/linux/Documentation/translations/it_IT/process/5.Posting.rst”h KubhŒ field_body”“”)”}”(hŒ@:ref:`Documentation/process/5.Posting.rst `”h]”h¨)”}”(hjh]”h)”}”(hjh]”hś)”}”(hjh]”hŒ#Documentation/process/5.Posting.rst”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(hÁŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hľhj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hΌ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhԌdevelopment_posting”uh1hhŸjh Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhîubeh}”(h]”h ]”h"]”h$]”h&]”uh1hěhŸjh Khhéhžhubhí)”}”(hhh]”(hň)”}”(hŒ Translator”h]”hŒ Translator”…””}”(hj?hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hńhj<hŸjh Kubj)”}”(hŒ)Federico Vaga ”h]”h¨)”}”(hŒ(Federico Vaga ”h]”(hŒFederico Vaga <”…””}”(hjQhžhhŸNh NubhŒ reference”“”)”}”(hŒfederico.vaga@vaga.pv.it”h]”hŒfederico.vaga@vaga.pv.it”…””}”(hj[hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:federico.vaga@vaga.pv.it”uh1jYhjQubhŒ>”…””}”(hjQhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hěhŸjh Khhéhžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1hçhhhžhhŸjh KubhŒtarget”“”)”}”(hŒ.. _it_development_posting:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œit-development-posting”uh1j‡h KhhhžhhŸjubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒPubblicare modifiche”h]”hŒPubblicare modifiche”…””}”(hjœhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jšhj—hžhhŸjh K ubh¨)”}”(hX×Prima o poi arriva il momento in cui il vostro lavoro è pronto per essere presentato alla comunitĂ  per una revisione ed eventualmente per la sua inclusione nel ramo principale del kernel. Com'era prevedibile, la comunitĂ  di sviluppo del kernel ha elaborato un insieme di convenzioni e di procedure per la pubblicazione delle patch; seguirle renderĂ  la vita piĂš facile a tutti quanti. Questo documento cercherĂ  di coprire questi argomenti con un ragionevole livello di dettaglio; piĂš informazioni possono essere trovare nella cartella 'Documentation', nei file :ref:`translations/it_IT/process/submitting-patches.rst ` e :ref:`translations/it_IT/process/submit-checklist.rst `.”h]”(hX?Prima o poi arriva il momento in cui il vostro lavoro è pronto per essere presentato alla comunitĂ  per una revisione ed eventualmente per la sua inclusione nel ramo principale del kernel. Com’era prevedibile, la comunitĂ  di sviluppo del kernel ha elaborato un insieme di convenzioni e di procedure per la pubblicazione delle patch; seguirle renderĂ  la vita piĂš facile a tutti quanti. Questo documento cercherĂ  di coprire questi argomenti con un ragionevole livello di dettaglio; piĂš informazioni possono essere trovare nella cartella ‘Documentation’, nei file ”…””}”(hjŞhžhhŸNh Nubh)”}”(hŒO:ref:`translations/it_IT/process/submitting-patches.rst `”h]”hś)”}”(hj´h]”hŒ1translations/it_IT/process/submitting-patches.rst”…””}”(hjśhžhhŸNh Nubah}”(h]”h ]”(hÁŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hľhj˛ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hΌ refdomain”jŔŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhԌit_submittingpatches”uh1hhŸjh K hjŞubhŒ e ”…””}”(hjŞhžhhŸNh Nubh)”}”(hŒK:ref:`translations/it_IT/process/submit-checklist.rst `”h]”hś)”}”(hjŘh]”hŒ/translations/it_IT/process/submit-checklist.rst”…””}”(hjÚhžhhŸNh Nubah}”(h]”h ]”(hÁŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hľhjÖubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hΌ refdomain”jäŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhԌit_submitchecklist”uh1hhŸjh K hjŞubhŒ.”…””}”(hjŞhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K hj—hžhubj–)”}”(hhh]”(j›)”}”(hŒQuando pubblicarle”h]”hŒQuando pubblicarle”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jšhjhžhhŸjh Kubh¨)”}”(hXńC'è sempre una certa resistenza nel pubblicare patch finchĂŠ non sono veramente "pronte". Per semplici patch questo non è un problema. Ma quando il lavoro è di una certa complessitĂ , c'è molto da guadagnare dai riscontri che la comunitĂ  può darvi prima che completiate il lavoro. Dovreste considerare l'idea di pubblicare un lavoro incompleto, o anche preparare un ramo git disponibile agli sviluppatori interessati, cosicchĂŠ possano stare al passo col vostro lavoro in qualunque momento.”h]”hXűC’è sempre una certa resistenza nel pubblicare patch finchĂŠ non sono veramente “pronte”. Per semplici patch questo non è un problema. Ma quando il lavoro è di una certa complessitĂ , c’è molto da guadagnare dai riscontri che la comunitĂ  può darvi prima che completiate il lavoro. Dovreste considerare l’idea di pubblicare un lavoro incompleto, o anche preparare un ramo git disponibile agli sviluppatori interessati, cosicchĂŠ possano stare al passo col vostro lavoro in qualunque momento.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Khjhžhubh¨)”}”(hX“Quando pubblicate del codice che non è considerato pronto per l'inclusione, è bene che lo diciate al momento della pubblicazione. Inoltre, aggiungete informazioni sulle cose ancora da sviluppare e sui problemi conosciuti. Poche persone guarderanno delle patch che si sa essere fatte a metĂ , ma quelli che lo faranno penseranno di potervi aiutare a condurre il vostro sviluppo nella giusta direzione.”h]”hX•Quando pubblicate del codice che non è considerato pronto per l’inclusione, è bene che lo diciate al momento della pubblicazione. Inoltre, aggiungete informazioni sulle cose ancora da sviluppare e sui problemi conosciuti. Poche persone guarderanno delle patch che si sa essere fatte a metĂ , ma quelli che lo faranno penseranno di potervi aiutare a condurre il vostro sviluppo nella giusta direzione.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K"hjhžhubeh}”(h]”Œquando-pubblicarle”ah ]”h"]”Œquando pubblicarle”ah$]”h&]”uh1j•hj—hžhhŸjh Kubj–)”}”(hhh]”(j›)”}”(hŒPrima di creare patch”h]”hŒPrima di creare patch”…””}”(hj8hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jšhj5hžhhŸjh K+ubh¨)”}”(hŒŽCi sono un certo numero di cose che dovreste fare prima di considerare l'invio delle patch alla comunitĂ  di sviluppo. Queste cose includono:”h]”hŒCi sono un certo numero di cose che dovreste fare prima di considerare l’invio delle patch alla comunitĂ  di sviluppo. Queste cose includono:”…””}”(hjFhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K-hj5hžhubhŒ block_quote”“”)”}”(hXZ- Verificare il codice fino al massimo che vi è consentito. Usate gli strumenti di debug del kernel, assicuratevi che il kernel compili con tutte le piĂš ragionevoli combinazioni d'opzioni, usate cross-compilatori per compilare il codice per differenti architetture, eccetera. - Assicuratevi che il vostro codice sia conforme alla linee guida del kernel sullo stile del codice. - La vostra patch ha delle conseguenze in termini di prestazioni? Se è cosĂŹ, dovreste eseguire dei *benchmark* che mostrino il loro impatto (anche positivo); un riassunto dei risultati dovrebbe essere incluso nella patch. - Siate certi d'avere i diritti per pubblicare il codice. Se questo lavoro è stato fatto per un datore di lavoro, egli avrĂ  dei diritti su questo lavoro e dovrĂ  quindi essere d'accordo alla sua pubblicazione con una licenza GPL ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hXVerificare il codice fino al massimo che vi è consentito. Usate gli strumenti di debug del kernel, assicuratevi che il kernel compili con tutte le piĂš ragionevoli combinazioni d'opzioni, usate cross-compilatori per compilare il codice per differenti architetture, eccetera. ”h]”h¨)”}”(hXVerificare il codice fino al massimo che vi è consentito. Usate gli strumenti di debug del kernel, assicuratevi che il kernel compili con tutte le piĂš ragionevoli combinazioni d'opzioni, usate cross-compilatori per compilare il codice per differenti architetture, eccetera.”h]”hXVerificare il codice fino al massimo che vi è consentito. Usate gli strumenti di debug del kernel, assicuratevi che il kernel compili con tutte le piĂš ragionevoli combinazioni d’opzioni, usate cross-compilatori per compilare il codice per differenti architetture, eccetera.”…””}”(hjehžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K0hjaubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj\ubj`)”}”(hŒcAssicuratevi che il vostro codice sia conforme alla linee guida del kernel sullo stile del codice. ”h]”h¨)”}”(hŒbAssicuratevi che il vostro codice sia conforme alla linee guida del kernel sullo stile del codice.”h]”hŒbAssicuratevi che il vostro codice sia conforme alla linee guida del kernel sullo stile del codice.”…””}”(hj}hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K5hjyubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj\ubj`)”}”(hŒŢLa vostra patch ha delle conseguenze in termini di prestazioni? Se è cosĂŹ, dovreste eseguire dei *benchmark* che mostrino il loro impatto (anche positivo); un riassunto dei risultati dovrebbe essere incluso nella patch. ”h]”h¨)”}”(hŒÝLa vostra patch ha delle conseguenze in termini di prestazioni? Se è cosĂŹ, dovreste eseguire dei *benchmark* che mostrino il loro impatto (anche positivo); un riassunto dei risultati dovrebbe essere incluso nella patch.”h]”(hŒcLa vostra patch ha delle conseguenze in termini di prestazioni? Se è cosĂŹ, dovreste eseguire dei ”…””}”(hj•hžhhŸNh NubhŒemphasis”“”)”}”(hŒ *benchmark*”h]”hŒ benchmark”…””}”(hjŸhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•ubhŒo che mostrino il loro impatto (anche positivo); un riassunto dei risultati dovrebbe essere incluso nella patch.”…””}”(hj•hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K8hj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj\ubj`)”}”(hŒćSiate certi d'avere i diritti per pubblicare il codice. Se questo lavoro è stato fatto per un datore di lavoro, egli avrĂ  dei diritti su questo lavoro e dovrĂ  quindi essere d'accordo alla sua pubblicazione con una licenza GPL ”h]”h¨)”}”(hŒĺSiate certi d'avere i diritti per pubblicare il codice. Se questo lavoro è stato fatto per un datore di lavoro, egli avrĂ  dei diritti su questo lavoro e dovrĂ  quindi essere d'accordo alla sua pubblicazione con una licenza GPL”h]”hŒéSiate certi d’avere i diritti per pubblicare il codice. Se questo lavoro è stato fatto per un datore di lavoro, egli avrĂ  dei diritti su questo lavoro e dovrĂ  quindi essere d’accordo alla sua pubblicazione con una licenza GPL”…””}”(hjÁhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K=hj˝ubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj\ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jZhŸjh K0hjVubah}”(h]”h ]”h"]”h$]”h&]”uh1jThŸjh K0hj5hžhubh¨)”}”(hŒgCome regola generale, pensarci un po' di piĂš prima di inviare il codice ripaga quasi sempre lo sforzo.”h]”hŒiCome regola generale, pensarci un po’ di piĂš prima di inviare il codice ripaga quasi sempre lo sforzo.”…””}”(hjăhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KBhj5hžhubeh}”(h]”Œprima-di-creare-patch”ah ]”h"]”Œprima di creare patch”ah$]”h&]”uh1j•hj—hžhhŸjh K+ubj–)”}”(hhh]”(j›)”}”(hŒPreparazione di una patch”h]”hŒPreparazione di una patch”…””}”(hjühžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jšhjůhžhhŸjh KGubh¨)”}”(hŒ×La preparazione delle patch per la pubblicazione può richiedere una quantitĂ  di lavoro significativa, ma, ripetiamolo ancora, generalmente sconsigliamo di risparmiare tempo in questa fase, anche sul breve periodo.”h]”hŒ×La preparazione delle patch per la pubblicazione può richiedere una quantitĂ  di lavoro significativa, ma, ripetiamolo ancora, generalmente sconsigliamo di risparmiare tempo in questa fase, anche sul breve periodo.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KIhjůhžhubh¨)”}”(hXLe patch devono essere preparate per una specifica versione del kernel. Come regola generale, una patch dovrebbe basarsi sul ramo principale attuale cosĂŹ come lo si trova nei sorgenti git di Linus. Quando vi basate sul ramo principale, cominciate da un punto di rilascio ben noto - uno stabile o un -rc - piuttosto che creare il vostro ramo da quello principale in un punto a caso.”h]”hXLe patch devono essere preparate per una specifica versione del kernel. Come regola generale, una patch dovrebbe basarsi sul ramo principale attuale cosĂŹ come lo si trova nei sorgenti git di Linus. Quando vi basate sul ramo principale, cominciate da un punto di rilascio ben noto - uno stabile o un -rc - piuttosto che creare il vostro ramo da quello principale in un punto a caso.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KMhjůhžhubh¨)”}”(hXžPer facilitare una revisione e una verifica piĂš estesa, potrebbe diventare necessaria la produzione di versioni per -mm, linux-next o i sorgenti di un sottosistema. Basare questa patch sui suddetti sorgenti potrebbe richiedere un lavoro significativo nella risoluzione dei conflitti e nella correzione dei cambiamenti di API; questo potrebbe variare a seconda dell'area d'interesse della vostra patch e da quello che succede altrove nel kernel.”h]”hXÂPer facilitare una revisione e una verifica piĂš estesa, potrebbe diventare necessaria la produzione di versioni per -mm, linux-next o i sorgenti di un sottosistema. Basare questa patch sui suddetti sorgenti potrebbe richiedere un lavoro significativo nella risoluzione dei conflitti e nella correzione dei cambiamenti di API; questo potrebbe variare a seconda dell’area d’interesse della vostra patch e da quello che succede altrove nel kernel.”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KThjůhžhubh¨)”}”(hXSolo le modifiche piĂš semplici dovrebbero essere preparate come una singola patch; tutto il resto dovrebbe essere preparato come una serie logica di modifiche. Spezzettare le patch è un po' un'arte; alcuni sviluppatori passano molto tempo nel capire come farlo in modo che piaccia alla comunitĂ . Ci sono alcune regole spannometriche, che comunque possono aiutare considerevolmente:”h]”hX…Solo le modifiche piĂš semplici dovrebbero essere preparate come una singola patch; tutto il resto dovrebbe essere preparato come una serie logica di modifiche. Spezzettare le patch è un po’ un’arte; alcuni sviluppatori passano molto tempo nel capire come farlo in modo che piaccia alla comunitĂ . Ci sono alcune regole spannometriche, che comunque possono aiutare considerevolmente:”…””}”(hj4hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K[hjůhžhubjU)”}”(hX - La serie di patch che pubblicherete, quasi sicuramente, non sarĂ  come quella che trovate nel vostro sistema di controllo di versione. Invece, le vostre modifiche dovranno essere considerate nella loro forma finale, e quindi separate in parti che abbiano un senso. Gli sviluppatori sono interessati in modifiche che siano discrete e indipendenti, non alla strada che avete percorso per ottenerle. - Ogni modifica logicamente indipendente dovrebbe essere preparata come una patch separata. Queste modifiche possono essere piccole ("aggiunto un campo in questa struttura") o grandi (l'aggiunta di un driver nuovo, per esempio), ma dovrebbero essere concettualmente piccole da permettere una descrizione in una sola riga. Ogni patch dovrebbe fare modifiche specifiche che si possano revisionare indipendentemente e di cui si possa verificare la veridicitĂ . - Giusto per riaffermare quando detto sopra: non mischiate diversi tipi di modifiche nella stessa patch. Se una modifica corregge un baco critico per la sicurezza, riorganizza alcune strutture, e riformatta il codice, ci sono buone probabilitĂ  che venga ignorata e che la correzione importante venga persa. - Ogni modifica dovrebbe portare ad un kernel che compila e funziona correttamente; se la vostra serie di patch si interrompe a metĂ  il risultato dovrebbe essere comunque un kernel funzionante. L'applicazione parziale di una serie di patch è uno scenario comune nel quale il comando "git bisect" viene usato per trovare delle regressioni; se il risultato è un kernel guasto, renderete la vita degli sviluppatori piĂš difficile cosĂŹ come quella di chi s'impegna nel nobile lavoro di scovare i problemi. - Però, non strafate. Una volta uno sviluppatore pubblicò una serie di 500 patch che modificavano un unico file - un atto che non lo rese la persona piĂš popolare sulla lista di discussione del kernel. Una singola patch può essere ragionevolmente grande fintanto che contenga un singolo cambiamento *logico*. - Potrebbe essere allettante l'idea di aggiungere una nuova infrastruttura come una serie di patch, ma di lasciare questa infrastruttura inutilizzata finchĂŠ l'ultima patch della serie non abilita tutto quanto. Quando è possibile, questo dovrebbe essere evitato; se questa serie aggiunge delle regressioni, "bisect" indicherĂ  quest'ultima patch come causa del problema anche se il baco si trova altrove. Possibilmente, quando una patch aggiunge del nuovo codice dovrebbe renderlo attivo immediatamente. ”h]”j[)”}”(hhh]”(j`)”}”(hXŽLa serie di patch che pubblicherete, quasi sicuramente, non sarĂ  come quella che trovate nel vostro sistema di controllo di versione. Invece, le vostre modifiche dovranno essere considerate nella loro forma finale, e quindi separate in parti che abbiano un senso. Gli sviluppatori sono interessati in modifiche che siano discrete e indipendenti, non alla strada che avete percorso per ottenerle. ”h]”h¨)”}”(hXLa serie di patch che pubblicherete, quasi sicuramente, non sarĂ  come quella che trovate nel vostro sistema di controllo di versione. Invece, le vostre modifiche dovranno essere considerate nella loro forma finale, e quindi separate in parti che abbiano un senso. Gli sviluppatori sono interessati in modifiche che siano discrete e indipendenti, non alla strada che avete percorso per ottenerle.”h]”hXLa serie di patch che pubblicherete, quasi sicuramente, non sarĂ  come quella che trovate nel vostro sistema di controllo di versione. Invece, le vostre modifiche dovranno essere considerate nella loro forma finale, e quindi separate in parti che abbiano un senso. Gli sviluppatori sono interessati in modifiche che siano discrete e indipendenti, non alla strada che avete percorso per ottenerle.”…””}”(hjMhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KbhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjFubj`)”}”(hXĘOgni modifica logicamente indipendente dovrebbe essere preparata come una patch separata. Queste modifiche possono essere piccole ("aggiunto un campo in questa struttura") o grandi (l'aggiunta di un driver nuovo, per esempio), ma dovrebbero essere concettualmente piccole da permettere una descrizione in una sola riga. Ogni patch dovrebbe fare modifiche specifiche che si possano revisionare indipendentemente e di cui si possa verificare la veridicitĂ . ”h]”h¨)”}”(hXÉOgni modifica logicamente indipendente dovrebbe essere preparata come una patch separata. Queste modifiche possono essere piccole ("aggiunto un campo in questa struttura") o grandi (l'aggiunta di un driver nuovo, per esempio), ma dovrebbero essere concettualmente piccole da permettere una descrizione in una sola riga. Ogni patch dovrebbe fare modifiche specifiche che si possano revisionare indipendentemente e di cui si possa verificare la veridicitĂ .”h]”hXĎOgni modifica logicamente indipendente dovrebbe essere preparata come una patch separata. Queste modifiche possono essere piccole (“aggiunto un campo in questa struttura”) o grandi (l’aggiunta di un driver nuovo, per esempio), ma dovrebbero essere concettualmente piccole da permettere una descrizione in una sola riga. Ogni patch dovrebbe fare modifiche specifiche che si possano revisionare indipendentemente e di cui si possa verificare la veridicitĂ .”…””}”(hjehžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kihjaubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjFubj`)”}”(hX3Giusto per riaffermare quando detto sopra: non mischiate diversi tipi di modifiche nella stessa patch. Se una modifica corregge un baco critico per la sicurezza, riorganizza alcune strutture, e riformatta il codice, ci sono buone probabilitĂ  che venga ignorata e che la correzione importante venga persa. ”h]”h¨)”}”(hX2Giusto per riaffermare quando detto sopra: non mischiate diversi tipi di modifiche nella stessa patch. Se una modifica corregge un baco critico per la sicurezza, riorganizza alcune strutture, e riformatta il codice, ci sono buone probabilitĂ  che venga ignorata e che la correzione importante venga persa.”h]”hX2Giusto per riaffermare quando detto sopra: non mischiate diversi tipi di modifiche nella stessa patch. Se una modifica corregge un baco critico per la sicurezza, riorganizza alcune strutture, e riformatta il codice, ci sono buone probabilitĂ  che venga ignorata e che la correzione importante venga persa.”…””}”(hj}hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kqhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjFubj`)”}”(hXůOgni modifica dovrebbe portare ad un kernel che compila e funziona correttamente; se la vostra serie di patch si interrompe a metĂ  il risultato dovrebbe essere comunque un kernel funzionante. L'applicazione parziale di una serie di patch è uno scenario comune nel quale il comando "git bisect" viene usato per trovare delle regressioni; se il risultato è un kernel guasto, renderete la vita degli sviluppatori piĂš difficile cosĂŹ come quella di chi s'impegna nel nobile lavoro di scovare i problemi. ”h]”h¨)”}”(hXřOgni modifica dovrebbe portare ad un kernel che compila e funziona correttamente; se la vostra serie di patch si interrompe a metĂ  il risultato dovrebbe essere comunque un kernel funzionante. L'applicazione parziale di una serie di patch è uno scenario comune nel quale il comando "git bisect" viene usato per trovare delle regressioni; se il risultato è un kernel guasto, renderete la vita degli sviluppatori piĂš difficile cosĂŹ come quella di chi s'impegna nel nobile lavoro di scovare i problemi.”h]”hXOgni modifica dovrebbe portare ad un kernel che compila e funziona correttamente; se la vostra serie di patch si interrompe a metĂ  il risultato dovrebbe essere comunque un kernel funzionante. L’applicazione parziale di una serie di patch è uno scenario comune nel quale il comando “git bisect” viene usato per trovare delle regressioni; se il risultato è un kernel guasto, renderete la vita degli sviluppatori piĂš difficile cosĂŹ come quella di chi s’impegna nel nobile lavoro di scovare i problemi.”…””}”(hj•hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kwhj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjFubj`)”}”(hX8Però, non strafate. Una volta uno sviluppatore pubblicò una serie di 500 patch che modificavano un unico file - un atto che non lo rese la persona piĂš popolare sulla lista di discussione del kernel. Una singola patch può essere ragionevolmente grande fintanto che contenga un singolo cambiamento *logico*. ”h]”h¨)”}”(hX7Però, non strafate. Una volta uno sviluppatore pubblicò una serie di 500 patch che modificavano un unico file - un atto che non lo rese la persona piĂš popolare sulla lista di discussione del kernel. Una singola patch può essere ragionevolmente grande fintanto che contenga un singolo cambiamento *logico*.”h]”(hX.Però, non strafate. Una volta uno sviluppatore pubblicò una serie di 500 patch che modificavano un unico file - un atto che non lo rese la persona piĂš popolare sulla lista di discussione del kernel. Una singola patch può essere ragionevolmente grande fintanto che contenga un singolo cambiamento ”…””}”(hj­hžhhŸNh Nubjž)”}”(hŒ*logico*”h]”hŒlogico”…””}”(hjľhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj­ubhŒ.”…””}”(hj­hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K€hjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjFubj`)”}”(hXůPotrebbe essere allettante l'idea di aggiungere una nuova infrastruttura come una serie di patch, ma di lasciare questa infrastruttura inutilizzata finchĂŠ l'ultima patch della serie non abilita tutto quanto. Quando è possibile, questo dovrebbe essere evitato; se questa serie aggiunge delle regressioni, "bisect" indicherĂ  quest'ultima patch come causa del problema anche se il baco si trova altrove. Possibilmente, quando una patch aggiunge del nuovo codice dovrebbe renderlo attivo immediatamente. ”h]”h¨)”}”(hXřPotrebbe essere allettante l'idea di aggiungere una nuova infrastruttura come una serie di patch, ma di lasciare questa infrastruttura inutilizzata finchĂŠ l'ultima patch della serie non abilita tutto quanto. Quando è possibile, questo dovrebbe essere evitato; se questa serie aggiunge delle regressioni, "bisect" indicherĂ  quest'ultima patch come causa del problema anche se il baco si trova altrove. Possibilmente, quando una patch aggiunge del nuovo codice dovrebbe renderlo attivo immediatamente.”h]”hXPotrebbe essere allettante l’idea di aggiungere una nuova infrastruttura come una serie di patch, ma di lasciare questa infrastruttura inutilizzata finchĂŠ l’ultima patch della serie non abilita tutto quanto. Quando è possibile, questo dovrebbe essere evitato; se questa serie aggiunge delle regressioni, “bisect” indicherĂ  quest’ultima patch come causa del problema anche se il baco si trova altrove. Possibilmente, quando una patch aggiunge del nuovo codice dovrebbe renderlo attivo immediatamente.”…””}”(hj×hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K†hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjFubeh}”(h]”h ]”h"]”h$]”h&]”jŰjÜuh1jZhŸjh KbhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jThŸjh Kbhjůhžhubh¨)”}”(hŒ×Lavorare per creare la serie di patch perfetta potrebbe essere frustrante perchĂŠ richiede un certo tempo e soprattutto dopo che il "vero lavoro" è giĂ  stato fatto. Quando ben fatto, comunque, è tempo ben speso.”h]”hŒŰLavorare per creare la serie di patch perfetta potrebbe essere frustrante perchĂŠ richiede un certo tempo e soprattutto dopo che il “vero lavoro” è giĂ  stato fatto. Quando ben fatto, comunque, è tempo ben speso.”…””}”(hj÷hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KŽhjůhžhubeh}”(h]”Œpreparazione-di-una-patch”ah ]”h"]”Œpreparazione di una patch”ah$]”h&]”uh1j•hj—hžhhŸjh KGubj–)”}”(hhh]”(j›)”}”(hŒ'Formattazione delle patch e i changelog”h]”hŒ'Formattazione delle patch e i changelog”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jšhj hžhhŸjh K”ubh¨)”}”(hX+Quindi adesso avete una serie perfetta di patch pronte per la pubblicazione, ma il lavoro non è davvero finito. Ogni patch deve essere preparata con un messaggio che spieghi al resto del mondo, in modo chiaro e veloce, il suo scopo. Per ottenerlo, ogni patch sarĂ  composta dai seguenti elementi:”h]”hX+Quindi adesso avete una serie perfetta di patch pronte per la pubblicazione, ma il lavoro non è davvero finito. Ogni patch deve essere preparata con un messaggio che spieghi al resto del mondo, in modo chiaro e veloce, il suo scopo. Per ottenerlo, ogni patch sarĂ  composta dai seguenti elementi:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K–hj hžhubjU)”}”(hXž- Un campo opzionale "From" col nome dell'autore della patch. Questa riga è necessaria solo se state passando la patch di qualcun altro via email, ma nel dubbio non fa di certo male aggiungerlo. - Una descrizione di una riga che spieghi cosa fa la patch. Questo messaggio dovrebbe essere sufficiente per far comprendere al lettore lo scopo della patch senza altre informazioni. Questo messaggio, solitamente, presenta in testa il nome del sottosistema a cui si riferisce, seguito dallo scopo della patch. Per esempio: :: gpio: fix build on CONFIG_GPIO_SYSFS=n - Una riga bianca seguita da una descrizione dettagliata della patch. Questa descrizione può essere lunga tanto quanto serve; dovrebbe spiegare cosa fa e perchĂŠ dovrebbe essere aggiunta al kernel. - Una o piĂš righe etichette, con, minimo, una riga *Signed-off-by:* col nome dall'autore della patch. Queste etichette verranno descritte meglio piĂš avanti. ”h]”j[)”}”(hhh]”(j`)”}”(hŒĂUn campo opzionale "From" col nome dell'autore della patch. Questa riga è necessaria solo se state passando la patch di qualcun altro via email, ma nel dubbio non fa di certo male aggiungerlo. ”h]”h¨)”}”(hŒÂUn campo opzionale "From" col nome dell'autore della patch. Questa riga è necessaria solo se state passando la patch di qualcun altro via email, ma nel dubbio non fa di certo male aggiungerlo.”h]”hŒČUn campo opzionale “From” col nome dell’autore della patch. Questa riga è necessaria solo se state passando la patch di qualcun altro via email, ma nel dubbio non fa di certo male aggiungerlo.”…””}”(hj7hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K›hj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj0ubj`)”}”(hXuUna descrizione di una riga che spieghi cosa fa la patch. Questo messaggio dovrebbe essere sufficiente per far comprendere al lettore lo scopo della patch senza altre informazioni. Questo messaggio, solitamente, presenta in testa il nome del sottosistema a cui si riferisce, seguito dallo scopo della patch. Per esempio: :: gpio: fix build on CONFIG_GPIO_SYSFS=n ”h]”(h¨)”}”(hXCUna descrizione di una riga che spieghi cosa fa la patch. Questo messaggio dovrebbe essere sufficiente per far comprendere al lettore lo scopo della patch senza altre informazioni. Questo messaggio, solitamente, presenta in testa il nome del sottosistema a cui si riferisce, seguito dallo scopo della patch. Per esempio:”h]”hXCUna descrizione di una riga che spieghi cosa fa la patch. Questo messaggio dovrebbe essere sufficiente per far comprendere al lettore lo scopo della patch senza altre informazioni. Questo messaggio, solitamente, presenta in testa il nome del sottosistema a cui si riferisce, seguito dallo scopo della patch. Per esempio:”…””}”(hjOhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KŸhjKubhŒ literal_block”“”)”}”(hŒ&gpio: fix build on CONFIG_GPIO_SYSFS=n”h]”hŒ&gpio: fix build on CONFIG_GPIO_SYSFS=n”…””}”hj_sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j]hŸjh K§hjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j_hj0ubj`)”}”(hŒĹUna riga bianca seguita da una descrizione dettagliata della patch. Questa descrizione può essere lunga tanto quanto serve; dovrebbe spiegare cosa fa e perchĂŠ dovrebbe essere aggiunta al kernel. ”h]”h¨)”}”(hŒÄUna riga bianca seguita da una descrizione dettagliata della patch. Questa descrizione può essere lunga tanto quanto serve; dovrebbe spiegare cosa fa e perchĂŠ dovrebbe essere aggiunta al kernel.”h]”hŒÄUna riga bianca seguita da una descrizione dettagliata della patch. Questa descrizione può essere lunga tanto quanto serve; dovrebbe spiegare cosa fa e perchĂŠ dovrebbe essere aggiunta al kernel.”…””}”(hjyhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KŠhjuubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj0ubj`)”}”(hŒžUna o piĂš righe etichette, con, minimo, una riga *Signed-off-by:* col nome dall'autore della patch. Queste etichette verranno descritte meglio piĂš avanti. ”h]”h¨)”}”(hŒUna o piĂš righe etichette, con, minimo, una riga *Signed-off-by:* col nome dall'autore della patch. Queste etichette verranno descritte meglio piĂš avanti.”h]”(hŒ2Una o piĂš righe etichette, con, minimo, una riga ”…””}”(hj‘hžhhŸNh Nubjž)”}”(hŒ*Signed-off-by:*”h]”hŒSigned-off-by:”…””}”(hj™hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘ubhŒ] col nome dall’autore della patch. Queste etichette verranno descritte meglio piĂš avanti.”…””}”(hj‘hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh K­hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj0ubeh}”(h]”h ]”h"]”h$]”h&]”jŰjÜuh1jZhŸjh K›hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jThŸjh K›hj hžhubh¨)”}”(hXIGli elementi qui sopra, assieme, formano il changelog di una patch. Scrivere un buon changelog è cruciale ma è spesso un'arte trascurata; vale la pena spendere qualche parola in piĂš al riguardo. Quando scrivete un changelog dovreste tenere ben presente che molte persone leggeranno le vostre parole. Queste includono i manutentori di un sotto-sistema, e i revisori che devono decidere se la patch debba essere inclusa o no, le distribuzioni e altri manutentori che cercano di valutare se la patch debba essere applicata su kernel piĂš vecchi, i cacciatori di bachi che si chiederanno se la patch è la causa di un problema che stanno cercando, gli utenti che vogliono sapere com'è cambiato il kernel, e molti altri. Un buon changelog fornisce le informazioni necessarie a tutte queste persone nel modo piĂš diretto e conciso possibile.”h]”hXMGli elementi qui sopra, assieme, formano il changelog di una patch. Scrivere un buon changelog è cruciale ma è spesso un’arte trascurata; vale la pena spendere qualche parola in piĂš al riguardo. Quando scrivete un changelog dovreste tenere ben presente che molte persone leggeranno le vostre parole. Queste includono i manutentori di un sotto-sistema, e i revisori che devono decidere se la patch debba essere inclusa o no, le distribuzioni e altri manutentori che cercano di valutare se la patch debba essere applicata su kernel piĂš vecchi, i cacciatori di bachi che si chiederanno se la patch è la causa di un problema che stanno cercando, gli utenti che vogliono sapere com’è cambiato il kernel, e molti altri. Un buon changelog fornisce le informazioni necessarie a tutte queste persone nel modo piĂš diretto e conciso possibile.”…””}”(hjĂhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kąhj hžhubh¨)”}”(hXÁA questo scopo, la riga riassuntiva dovrebbe descrivere gli effetti della modifica e la motivazione della patch nel modo migliore possibile nonostante il limite di una sola riga. La descrizione dettagliata può spiegare meglio i temi e fornire maggiori informazioni. Se una patch corregge un baco, citate, se possibile, il commit che lo introdusse (e per favore, quando citate un commit aggiungete sia il suo identificativo che il titolo), Se il problema è associabile ad un file di log o all' output del compilatore, includeteli al fine d'aiutare gli altri a trovare soluzioni per lo stesso problema. Se la modifica ha lo scopo di essere di supporto a sviluppi successivi, ditelo. Se le API interne vengono cambiate, dettagliate queste modifiche e come gli altri dovrebbero agire per applicarle. In generale, piĂš riuscirete ad entrare nei panni di tutti quelli che leggeranno il vostro changelog, meglio sarĂ  il changelog (e il kernel nel suo insieme).”h]”hXĹA questo scopo, la riga riassuntiva dovrebbe descrivere gli effetti della modifica e la motivazione della patch nel modo migliore possibile nonostante il limite di una sola riga. La descrizione dettagliata può spiegare meglio i temi e fornire maggiori informazioni. Se una patch corregge un baco, citate, se possibile, il commit che lo introdusse (e per favore, quando citate un commit aggiungete sia il suo identificativo che il titolo), Se il problema è associabile ad un file di log o all’ output del compilatore, includeteli al fine d’aiutare gli altri a trovare soluzioni per lo stesso problema. Se la modifica ha lo scopo di essere di supporto a sviluppi successivi, ditelo. Se le API interne vengono cambiate, dettagliate queste modifiche e come gli altri dovrebbero agire per applicarle. In generale, piĂš riuscirete ad entrare nei panni di tutti quelli che leggeranno il vostro changelog, meglio sarĂ  il changelog (e il kernel nel suo insieme).”…””}”(hjŃhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kžhj hžhubh¨)”}”(hŒNon serve dirlo, un changelog dovrebbe essere il testo usato nel messaggio di commit in un sistema di controllo di versione. SarĂ  seguito da:”h]”hŒNon serve dirlo, un changelog dovrebbe essere il testo usato nel messaggio di commit in un sistema di controllo di versione. SarĂ  seguito da:”…””}”(hjßhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KĚhj hžhubjU)”}”(hŒŮ- La patch stessa, nel formato unificato per patch ("-u"). Usare l'opzione "-p" assocerĂ  alla modifica il nome della funzione alla quale si riferisce, rendendo il risultato piĂš facile da leggere per gli altri. ”h]”j[)”}”(hhh]”j`)”}”(hŒÓLa patch stessa, nel formato unificato per patch ("-u"). Usare l'opzione "-p" assocerĂ  alla modifica il nome della funzione alla quale si riferisce, rendendo il risultato piĂš facile da leggere per gli altri. ”h]”h¨)”}”(hŒŇLa patch stessa, nel formato unificato per patch ("-u"). Usare l'opzione "-p" assocerĂ  alla modifica il nome della funzione alla quale si riferisce, rendendo il risultato piĂš facile da leggere per gli altri.”h]”hŒÜLa patch stessa, nel formato unificato per patch (“-u”). Usare l’opzione “-p” assocerĂ  alla modifica il nome della funzione alla quale si riferisce, rendendo il risultato piĂš facile da leggere per gli altri.”…””}”(hjřhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KĎhjôubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjńubah}”(h]”h ]”h"]”h$]”h&]”jŰjÜuh1jZhŸjh KĎhjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jThŸjh KĎhj hžhubh¨)”}”(hŒóLe etichette sopracitate danno un'idea di come una patch prende vita e sono descritte nel dettaglio nel documento :ref:`Documentation/translations/it_IT/process/submitting-patches.rst `. Qui di seguito un breve riassunto.”h]”(hŒtLe etichette sopracitate danno un’idea di come una patch prende vita e sono descritte nel dettaglio nel documento ”…””}”(hjhžhhŸNh Nubh)”}”(hŒ]:ref:`Documentation/translations/it_IT/process/submitting-patches.rst `”h]”hś)”}”(hj"h]”hŒ?Documentation/translations/it_IT/process/submitting-patches.rst”…””}”(hj$hžhhŸNh Nubah}”(h]”h ]”(hÁŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hľhj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hΌ refdomain”j.Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhԌit_submittingpatches”uh1hhŸjh KÓhjubhŒ$. Qui di seguito un breve riassunto.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KÓhj hžhubh¨)”}”(hŒaUn'etichetta ci può dire quale commit ha introdotto il problema che viene corretto nella patch::”h]”hŒbUn’etichetta ci può dire quale commit ha introdotto il problema che viene corretto nella patch:”…””}”(hjJhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KŘhj hžhubj^)”}”(hŒiFixes: 1f2e3d4c5b6a ("The first line of the commit specified by the first 12 characters of its SHA-1 ID")”h]”hŒiFixes: 1f2e3d4c5b6a ("The first line of the commit specified by the first 12 characters of its SHA-1 ID")”…””}”hjXsbah}”(h]”h ]”h"]”h$]”h&]”jmjnuh1j]hŸjh KÚhj hžhubh¨)”}”(hŒ˙Un'altra etichetta viene usata per fornire collegamenti a pagine web contenenti maggiori informazioni, per esempio una discussione avvenuta precedentemente circa il baco risolto dalla patch, oppure un documento con le specifiche implementate dalla patch::”h]”hXUn’altra etichetta viene usata per fornire collegamenti a pagine web contenenti maggiori informazioni, per esempio una discussione avvenuta precedentemente circa il baco risolto dalla patch, oppure un documento con le specifiche implementate dalla patch:”…””}”(hjfhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh KÜhj hžhubj^)”}”(hŒ>Link: https://example.com/somewhere.html optional-other-stuff”h]”hŒ>Link: https://example.com/somewhere.html optional-other-stuff”…””}”hjtsbah}”(h]”h ]”h"]”h$]”h&]”jmjnuh1j]hŸjh Káhj hžhubh¨)”}”(hX$Alcuni manutentori aggiungono quest'etichetta alla patch per fare riferimento alla piĂš recente discussione pubblica. A volte questo è fatto automaticamente da alcuni strumenti come b4 or un *hook* git come quello descritto qui 'Documentation/translations/it_IT/maintainer/configure-git.rst'”h]”(hŒÂAlcuni manutentori aggiungono quest’etichetta alla patch per fare riferimento alla piĂš recente discussione pubblica. A volte questo è fatto automaticamente da alcuni strumenti come b4 or un ”…””}”(hj‚hžhhŸNh Nubjž)”}”(hŒ*hook*”h]”hŒhook”…””}”(hjŠhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚ubhŒb git come quello descritto qui ‘Documentation/translations/it_IT/maintainer/configure-git.rst’”…””}”(hj‚hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kăhj hžhubh¨)”}”(hŒsSe il collegamento indirizza verso un rapporto su un baco risolto dalla patch, allora usate l'etichetta "Closes:"::”h]”hŒxSe il collegamento indirizza verso un rapporto su un baco risolto dalla patch, allora usate l’etichetta “Closes:”:”…””}”(hj˘hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kéhj hžhubj^)”}”(hŒ=Closes: https://example.com/issues/1234 optional-other-stuff”h]”hŒ=Closes: https://example.com/issues/1234 optional-other-stuff”…””}”hj°sbah}”(h]”h ]”h"]”h$]”h&]”jmjnuh1j]hŸjh Kěhj hžhubh¨)”}”(hX=Alcune piattaforme di tracciamento di bachi hanno la capacitĂ  di chiudere automaticamente il problema se l'etichetta è presente nel messaggio. Alcuni automatismi che monitorano la liste di discussione possono anche tracciare queste etichette e intraprendere azioni. Piattaforme private e URL invalidi sono proibiti.”h]”hX?Alcune piattaforme di tracciamento di bachi hanno la capacitĂ  di chiudere automaticamente il problema se l’etichetta è presente nel messaggio. Alcuni automatismi che monitorano la liste di discussione possono anche tracciare queste etichette e intraprendere azioni. Piattaforme private e URL invalidi sono proibiti.”…””}”(hjžhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kîhj hžhubh¨)”}”(hŒUn altro tipo di etichetta viene usato per indicare chi ha contribuito allo sviluppo della patch. Tutte queste etichette seguono il formato::”h]”hŒŒUn altro tipo di etichetta viene usato per indicare chi ha contribuito allo sviluppo della patch. Tutte queste etichette seguono il formato:”…””}”(hjĚhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kôhj hžhubj^)”}”(hŒ4tag: Full Name optional-other-stuff”h]”hŒ4tag: Full Name optional-other-stuff”…””}”hjÚsbah}”(h]”h ]”h"]”h$]”h&]”jmjnuh1j]hŸjh K÷hj hžhubh¨)”}”(hŒ%Le etichette in uso piĂš comuni sono:”h]”hŒ%Le etichette in uso piĂš comuni sono:”…””}”(hjčhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kůhj hžhubjU)”}”(hXp- Signed-off-by: questa è la certificazione che lo sviluppatore ha il diritto di sottomettere la patch per l'integrazione nel kernel. Questo rappresenta il consenso verso il certificato d'origine degli sviluppatori, il testo completo potrĂ  essere trovato in :ref:`Documentation/translations/it_IT/process/submitting-patches.rst `. Codice che non presenta una firma appropriata non potrĂ  essere integrato. - Co-developed-by: indica che la patch è stata cosviluppata da diversi sviluppatori; viene usato per assegnare piĂš autori (in aggiunta a quello associato all'etichetta From:) quando piĂš persone lavorano ad una patch. Ogni Co-developed-by: dev'essere seguito immediatamente da un Signed-off-by: del corrispondente coautore. Maggiori dettagli ed esempi sono disponibili in :ref:`Documentation/translations/it_IT/process/submitting-patches.rst `. - Acked-by: indica il consenso di un altro sviluppatore (spesso il manutentore del codice in oggetto) all'integrazione della patch nel kernel. - Tested-by: menziona la persona che ha verificato la patch e l'ha trovata funzionante. - Reviwed-by: menziona lo sviluppatore che ha revisionato la patch; per maggiori dettagli leggete la dichiarazione dei revisori in :ref:`Documentation/translations/it_IT/process/submitting-patches.rst ` - Reported-by: menziona l'utente che ha riportato il problema corretto da questa patch; quest'etichetta viene usata per dare credito alle persone che hanno verificato il codice e ci hanno fatto sapere quando le cose non funzionavano correttamente. Questa etichetta dovrebbe essere seguita da quella Closes: con un indirizzo al rapporto, a meno che questo non sia disponibile sul web. L'etichetta Link: può essere usata in alternativa a Closes: se la patch corregge solo in parte il problema riportato nel rapporto. Se esiste un rapporto disponibile sul web, allora L'etichetta dovrebbe essere seguita da un collegamento al suddetto rapporto. - Cc: la persona menzionata ha ricevuto una copia della patch ed ha avuto l'opportunitĂ  di commentarla. ”h]”j[)”}”(hhh]”(j`)”}”(hX­Signed-off-by: questa è la certificazione che lo sviluppatore ha il diritto di sottomettere la patch per l'integrazione nel kernel. Questo rappresenta il consenso verso il certificato d'origine degli sviluppatori, il testo completo potrĂ  essere trovato in :ref:`Documentation/translations/it_IT/process/submitting-patches.rst `. Codice che non presenta una firma appropriata non potrĂ  essere integrato. ”h]”h¨)”}”(hXŹSigned-off-by: questa è la certificazione che lo sviluppatore ha il diritto di sottomettere la patch per l'integrazione nel kernel. Questo rappresenta il consenso verso il certificato d'origine degli sviluppatori, il testo completo potrĂ  essere trovato in :ref:`Documentation/translations/it_IT/process/submitting-patches.rst `. Codice che non presenta una firma appropriata non potrĂ  essere integrato.”h]”(hXSigned-off-by: questa è la certificazione che lo sviluppatore ha il diritto di sottomettere la patch per l’integrazione nel kernel. Questo rappresenta il consenso verso il certificato d’origine degli sviluppatori, il testo completo potrĂ  essere trovato in ”…””}”(hjhžhhŸNh Nubh)”}”(hŒ]:ref:`Documentation/translations/it_IT/process/submitting-patches.rst `”h]”hś)”}”(hj h]”hŒ?Documentation/translations/it_IT/process/submitting-patches.rst”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”(hÁŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hľhj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hΌ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhԌit_submittingpatches”uh1hhŸjh KűhjubhŒL. Codice che non presenta una firma appropriata non potrĂ  essere integrato.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Kűhjýubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjúubj`)”}”(hXÔCo-developed-by: indica che la patch è stata cosviluppata da diversi sviluppatori; viene usato per assegnare piĂš autori (in aggiunta a quello associato all'etichetta From:) quando piĂš persone lavorano ad una patch. Ogni Co-developed-by: dev'essere seguito immediatamente da un Signed-off-by: del corrispondente coautore. Maggiori dettagli ed esempi sono disponibili in :ref:`Documentation/translations/it_IT/process/submitting-patches.rst `. ”h]”h¨)”}”(hXÓCo-developed-by: indica che la patch è stata cosviluppata da diversi sviluppatori; viene usato per assegnare piĂš autori (in aggiunta a quello associato all'etichetta From:) quando piĂš persone lavorano ad una patch. Ogni Co-developed-by: dev'essere seguito immediatamente da un Signed-off-by: del corrispondente coautore. Maggiori dettagli ed esempi sono disponibili in :ref:`Documentation/translations/it_IT/process/submitting-patches.rst `.”h]”(hXyCo-developed-by: indica che la patch è stata cosviluppata da diversi sviluppatori; viene usato per assegnare piĂš autori (in aggiunta a quello associato all’etichetta From:) quando piĂš persone lavorano ad una patch. Ogni Co-developed-by: dev’essere seguito immediatamente da un Signed-off-by: del corrispondente coautore. Maggiori dettagli ed esempi sono disponibili in ”…””}”(hj=hžhhŸNh Nubh)”}”(hŒ]:ref:`Documentation/translations/it_IT/process/submitting-patches.rst `”h]”hś)”}”(hjGh]”hŒ?Documentation/translations/it_IT/process/submitting-patches.rst”…””}”(hjIhžhhŸNh Nubah}”(h]”h ]”(hÁŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hľhjEubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hΌ refdomain”jSŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhԌit_submittingpatches”uh1hhŸjh Mhj=ubhŒ.”…””}”(hj=hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Mhj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjúubj`)”}”(hŒAcked-by: indica il consenso di un altro sviluppatore (spesso il manutentore del codice in oggetto) all'integrazione della patch nel kernel. ”h]”h¨)”}”(hŒŒAcked-by: indica il consenso di un altro sviluppatore (spesso il manutentore del codice in oggetto) all'integrazione della patch nel kernel.”h]”hŒŽAcked-by: indica il consenso di un altro sviluppatore (spesso il manutentore del codice in oggetto) all’integrazione della patch nel kernel.”…””}”(hjyhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh M hjuubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjúubj`)”}”(hŒVTested-by: menziona la persona che ha verificato la patch e l'ha trovata funzionante. ”h]”h¨)”}”(hŒUTested-by: menziona la persona che ha verificato la patch e l'ha trovata funzionante.”h]”hŒWTested-by: menziona la persona che ha verificato la patch e l’ha trovata funzionante.”…””}”(hj‘hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh M hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjúubj`)”}”(hŒßReviwed-by: menziona lo sviluppatore che ha revisionato la patch; per maggiori dettagli leggete la dichiarazione dei revisori in :ref:`Documentation/translations/it_IT/process/submitting-patches.rst ` ”h]”h¨)”}”(hŒŢReviwed-by: menziona lo sviluppatore che ha revisionato la patch; per maggiori dettagli leggete la dichiarazione dei revisori in :ref:`Documentation/translations/it_IT/process/submitting-patches.rst `”h]”(hŒReviwed-by: menziona lo sviluppatore che ha revisionato la patch; per maggiori dettagli leggete la dichiarazione dei revisori in ”…””}”(hjŠhžhhŸNh Nubh)”}”(hŒ]:ref:`Documentation/translations/it_IT/process/submitting-patches.rst `”h]”hś)”}”(hjłh]”hŒ?Documentation/translations/it_IT/process/submitting-patches.rst”…””}”(hjľhžhhŸNh Nubah}”(h]”h ]”(hÁŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hľhjąubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hΌ refdomain”jżŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhԌit_submittingpatches”uh1hhŸjh MhjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh MhjĽubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjúubj`)”}”(hX‚Reported-by: menziona l'utente che ha riportato il problema corretto da questa patch; quest'etichetta viene usata per dare credito alle persone che hanno verificato il codice e ci hanno fatto sapere quando le cose non funzionavano correttamente. Questa etichetta dovrebbe essere seguita da quella Closes: con un indirizzo al rapporto, a meno che questo non sia disponibile sul web. L'etichetta Link: può essere usata in alternativa a Closes: se la patch corregge solo in parte il problema riportato nel rapporto. Se esiste un rapporto disponibile sul web, allora L'etichetta dovrebbe essere seguita da un collegamento al suddetto rapporto. ”h]”(h¨)”}”(hXReported-by: menziona l'utente che ha riportato il problema corretto da questa patch; quest'etichetta viene usata per dare credito alle persone che hanno verificato il codice e ci hanno fatto sapere quando le cose non funzionavano correttamente. Questa etichetta dovrebbe essere seguita da quella Closes: con un indirizzo al rapporto, a meno che questo non sia disponibile sul web. L'etichetta Link: può essere usata in alternativa a Closes: se la patch corregge solo in parte il problema riportato nel rapporto.”h]”hXReported-by: menziona l’utente che ha riportato il problema corretto da questa patch; quest’etichetta viene usata per dare credito alle persone che hanno verificato il codice e ci hanno fatto sapere quando le cose non funzionavano correttamente. Questa etichetta dovrebbe essere seguita da quella Closes: con un indirizzo al rapporto, a meno che questo non sia disponibile sul web. L’etichetta Link: può essere usata in alternativa a Closes: se la patch corregge solo in parte il problema riportato nel rapporto.”…””}”(hjáhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh MhjÝubh¨)”}”(hŒ~Se esiste un rapporto disponibile sul web, allora L'etichetta dovrebbe essere seguita da un collegamento al suddetto rapporto.”h]”hŒ€Se esiste un rapporto disponibile sul web, allora L’etichetta dovrebbe essere seguita da un collegamento al suddetto rapporto.”…””}”(hjďhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh MhjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1j_hjúubj`)”}”(hŒgCc: la persona menzionata ha ricevuto una copia della patch ed ha avuto l'opportunitĂ  di commentarla. ”h]”h¨)”}”(hŒfCc: la persona menzionata ha ricevuto una copia della patch ed ha avuto l'opportunitĂ  di commentarla.”h]”hŒhCc: la persona menzionata ha ricevuto una copia della patch ed ha avuto l’opportunitĂ  di commentarla.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjúubeh}”(h]”h ]”h"]”h$]”h&]”jŰjÜuh1jZhŸjh Kűhjöubah}”(h]”h ]”h"]”h$]”h&]”uh1jThŸjh Kűhj hžhubh¨)”}”(hX+State attenti ad aggiungere queste etichette alla vostra patch: solo "Cc:" può essere aggiunta senza il permesso esplicito della persona menzionata. Il piĂš delle volte anche Reported-by: va bene, ma è sempre meglio chiedere specialmente se il baco è stato riportato in una comunicazione privata.”h]”hX/State attenti ad aggiungere queste etichette alla vostra patch: solo “Cc:” può essere aggiunta senza il permesso esplicito della persona menzionata. Il piĂš delle volte anche Reported-by: va bene, ma è sempre meglio chiedere specialmente se il baco è stato riportato in una comunicazione privata.”…””}”(hj'hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh M"hj hžhubeh}”(h]”Œ'formattazione-delle-patch-e-i-changelog”ah ]”h"]”Œ'formattazione delle patch e i changelog”ah$]”h&]”uh1j•hj—hžhhŸjh K”ubj–)”}”(hhh]”(j›)”}”(hŒInviare la modifica”h]”hŒInviare la modifica”…””}”(hj@hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jšhj=hžhhŸjh M(ubh¨)”}”(hŒ`Prima di inviare la vostra patch, ci sarebbero ancora un paio di cose di cui dovreste aver cura:”h]”hŒ`Prima di inviare la vostra patch, ci sarebbero ancora un paio di cose di cui dovreste aver cura:”…””}”(hjNhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh M*hj=hžhubjU)”}”(hXü- Siete sicuri che il vostro programma di posta non corromperĂ  le patch? Le patch che hanno spazi bianchi in libertĂ  o andate a capo aggiunti dai programmi di posta non funzioneranno per chi le riceve, e spesso non verranno nemmeno esaminate in dettaglio. Se avete un qualsiasi dubbio, inviate la patch a voi stessi e verificate che sia integra. :ref:`Documentation/translations/it_IT/process/email-clients.rst ` contiene alcuni suggerimenti utili sulla configurazione dei programmi di posta al fine di inviare patch. - Siete sicuri che la vostra patch non contenga sciocchi errori? Dovreste sempre processare le patch con scripts/checkpatch.pl e correggere eventuali problemi riportati. Per favore tenete ben presente che checkpatch.pl non è piĂš intelligente di voi, nonostante sia il risultato di un certa quantitĂ  di ragionamenti su come debba essere una patch per il kernel. Se seguire i suggerimenti di checkpatch.pl rende il codice peggiore, allora non fatelo. ”h]”j[)”}”(hhh]”(j`)”}”(hXSiete sicuri che il vostro programma di posta non corromperĂ  le patch? Le patch che hanno spazi bianchi in libertĂ  o andate a capo aggiunti dai programmi di posta non funzioneranno per chi le riceve, e spesso non verranno nemmeno esaminate in dettaglio. Se avete un qualsiasi dubbio, inviate la patch a voi stessi e verificate che sia integra. :ref:`Documentation/translations/it_IT/process/email-clients.rst ` contiene alcuni suggerimenti utili sulla configurazione dei programmi di posta al fine di inviare patch. ”h]”(h¨)”}”(hXZSiete sicuri che il vostro programma di posta non corromperĂ  le patch? Le patch che hanno spazi bianchi in libertĂ  o andate a capo aggiunti dai programmi di posta non funzioneranno per chi le riceve, e spesso non verranno nemmeno esaminate in dettaglio. Se avete un qualsiasi dubbio, inviate la patch a voi stessi e verificate che sia integra.”h]”hXZSiete sicuri che il vostro programma di posta non corromperĂ  le patch? Le patch che hanno spazi bianchi in libertĂ  o andate a capo aggiunti dai programmi di posta non funzioneranno per chi le riceve, e spesso non verranno nemmeno esaminate in dettaglio. Se avete un qualsiasi dubbio, inviate la patch a voi stessi e verificate che sia integra.”…””}”(hjghžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh M-hjcubh¨)”}”(hŒ˝:ref:`Documentation/translations/it_IT/process/email-clients.rst ` contiene alcuni suggerimenti utili sulla configurazione dei programmi di posta al fine di inviare patch.”h]”(h)”}”(hŒT:ref:`Documentation/translations/it_IT/process/email-clients.rst `”h]”hś)”}”(hj{h]”hŒ:Documentation/translations/it_IT/process/email-clients.rst”…””}”(hj}hžhhŸNh Nubah}”(h]”h ]”(hÁŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hľhjyubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hΌ refdomain”j‡Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhԌit_email_clients”uh1hhŸjh M3hjuubhŒi contiene alcuni suggerimenti utili sulla configurazione dei programmi di posta al fine di inviare patch.”…””}”(hjuhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh M3hjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1j_hj`ubj`)”}”(hXĹSiete sicuri che la vostra patch non contenga sciocchi errori? Dovreste sempre processare le patch con scripts/checkpatch.pl e correggere eventuali problemi riportati. Per favore tenete ben presente che checkpatch.pl non è piĂš intelligente di voi, nonostante sia il risultato di un certa quantitĂ  di ragionamenti su come debba essere una patch per il kernel. Se seguire i suggerimenti di checkpatch.pl rende il codice peggiore, allora non fatelo. ”h]”h¨)”}”(hXÄSiete sicuri che la vostra patch non contenga sciocchi errori? Dovreste sempre processare le patch con scripts/checkpatch.pl e correggere eventuali problemi riportati. Per favore tenete ben presente che checkpatch.pl non è piĂš intelligente di voi, nonostante sia il risultato di un certa quantitĂ  di ragionamenti su come debba essere una patch per il kernel. Se seguire i suggerimenti di checkpatch.pl rende il codice peggiore, allora non fatelo.”h]”hXÄSiete sicuri che la vostra patch non contenga sciocchi errori? Dovreste sempre processare le patch con scripts/checkpatch.pl e correggere eventuali problemi riportati. Per favore tenete ben presente che checkpatch.pl non è piĂš intelligente di voi, nonostante sia il risultato di un certa quantitĂ  di ragionamenti su come debba essere una patch per il kernel. Se seguire i suggerimenti di checkpatch.pl rende il codice peggiore, allora non fatelo.”…””}”(hj­hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh M7hjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj`ubeh}”(h]”h ]”h"]”h$]”h&]”jŰjÜuh1jZhŸjh M-hj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jThŸjh M-hj=hžhubh¨)”}”(hXLe patch dovrebbero essere sempre inviate come testo puro. Per favore non inviatele come allegati; questo rende molto piĂš difficile, per i revisori, citare parti della patch che si vogliono commentare. Invece, mettete la vostra patch direttamente nel messaggio.”h]”hXLe patch dovrebbero essere sempre inviate come testo puro. Per favore non inviatele come allegati; questo rende molto piĂš difficile, per i revisori, citare parti della patch che si vogliono commentare. Invece, mettete la vostra patch direttamente nel messaggio.”…””}”(hjÍhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh M>hj=hžhubh¨)”}”(hXjQuando inviate le patch, è importante inviarne una copia a tutte le persone che potrebbero esserne interessate. Al contrario di altri progetti, il kernel incoraggia le persone a peccare nell'invio di tante copie; non presumente che le persone interessate vedano i vostri messaggi sulla lista di discussione. In particolare le copie dovrebbero essere inviate a:”h]”hXlQuando inviate le patch, è importante inviarne una copia a tutte le persone che potrebbero esserne interessate. Al contrario di altri progetti, il kernel incoraggia le persone a peccare nell’invio di tante copie; non presumente che le persone interessate vedano i vostri messaggi sulla lista di discussione. In particolare le copie dovrebbero essere inviate a:”…””}”(hjŰhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh MChj=hžhubjU)”}”(hX-- I manutentori dei sottosistemi affetti della modifica. Come descritto in precedenza, il file MAINTAINERS è il primo luogo dove cercare i nomi di queste persone. - Altri sviluppatori che hanno lavorato nello stesso ambiente - specialmente quelli che potrebbero lavorarci proprio ora. Usate git potrebbe essere utile per vedere chi altri ha modificato i file su cui state lavorando. - Se state rispondendo a un rapporto su un baco, o a una richiesta di funzionalitĂ , includete anche gli autori di quei rapporti/richieste. - Inviate una copia alle liste di discussione interessate, o, se nient'altro è adatto, alla lista linux-kernel - Se state correggendo un baco, pensate se la patch dovrebbe essere inclusa nel prossimo rilascio stabile. Se è cosĂŹ, la lista di discussione stable@vger.kernel.org dovrebbe riceverne una copia. Aggiungete anche l'etichetta "Cc: stable@vger.kernel.org" nella patch stessa; questo permetterĂ  alla squadra *stable* di ricevere una notifica quando questa correzione viene integrata nel ramo principale. ”•Ź-h]”j[)”}”(hhh]”(j`)”}”(hŒŁI manutentori dei sottosistemi affetti della modifica. Come descritto in precedenza, il file MAINTAINERS è il primo luogo dove cercare i nomi di queste persone. ”h]”h¨)”}”(hŒ˘I manutentori dei sottosistemi affetti della modifica. Come descritto in precedenza, il file MAINTAINERS è il primo luogo dove cercare i nomi di queste persone.”h]”hŒ˘I manutentori dei sottosistemi affetti della modifica. Come descritto in precedenza, il file MAINTAINERS è il primo luogo dove cercare i nomi di queste persone.”…””}”(hjôhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh MIhjđubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjíubj`)”}”(hŒŰAltri sviluppatori che hanno lavorato nello stesso ambiente - specialmente quelli che potrebbero lavorarci proprio ora. Usate git potrebbe essere utile per vedere chi altri ha modificato i file su cui state lavorando. ”h]”h¨)”}”(hŒÚAltri sviluppatori che hanno lavorato nello stesso ambiente - specialmente quelli che potrebbero lavorarci proprio ora. Usate git potrebbe essere utile per vedere chi altri ha modificato i file su cui state lavorando.”h]”hŒÚAltri sviluppatori che hanno lavorato nello stesso ambiente - specialmente quelli che potrebbero lavorarci proprio ora. Usate git potrebbe essere utile per vedere chi altri ha modificato i file su cui state lavorando.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh MMhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjíubj`)”}”(hŒŠSe state rispondendo a un rapporto su un baco, o a una richiesta di funzionalitĂ , includete anche gli autori di quei rapporti/richieste. ”h]”h¨)”}”(hŒ‰Se state rispondendo a un rapporto su un baco, o a una richiesta di funzionalitĂ , includete anche gli autori di quei rapporti/richieste.”h]”hŒ‰Se state rispondendo a un rapporto su un baco, o a una richiesta di funzionalitĂ , includete anche gli autori di quei rapporti/richieste.”…””}”(hj$hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh MQhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjíubj`)”}”(hŒnInviate una copia alle liste di discussione interessate, o, se nient'altro è adatto, alla lista linux-kernel ”h]”h¨)”}”(hŒmInviate una copia alle liste di discussione interessate, o, se nient'altro è adatto, alla lista linux-kernel”h]”hŒoInviate una copia alle liste di discussione interessate, o, se nient’altro è adatto, alla lista linux-kernel”…””}”(hj<hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh MThj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjíubj`)”}”(hX“Se state correggendo un baco, pensate se la patch dovrebbe essere inclusa nel prossimo rilascio stabile. Se è cosĂŹ, la lista di discussione stable@vger.kernel.org dovrebbe riceverne una copia. Aggiungete anche l'etichetta "Cc: stable@vger.kernel.org" nella patch stessa; questo permetterĂ  alla squadra *stable* di ricevere una notifica quando questa correzione viene integrata nel ramo principale. ”h]”h¨)”}”(hX’Se state correggendo un baco, pensate se la patch dovrebbe essere inclusa nel prossimo rilascio stabile. Se è cosĂŹ, la lista di discussione stable@vger.kernel.org dovrebbe riceverne una copia. Aggiungete anche l'etichetta "Cc: stable@vger.kernel.org" nella patch stessa; questo permetterĂ  alla squadra *stable* di ricevere una notifica quando questa correzione viene integrata nel ramo principale.”h]”(hŒSe state correggendo un baco, pensate se la patch dovrebbe essere inclusa nel prossimo rilascio stabile. Se è cosĂŹ, la lista di discussione ”…””}”(hjThžhhŸNh NubjZ)”}”(hŒstable@vger.kernel.org”h]”hŒstable@vger.kernel.org”…””}”(hj\hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:stable@vger.kernel.org”uh1jYhjTubhŒF dovrebbe riceverne una copia. Aggiungete anche l’etichetta “Cc: ”…””}”(hjThžhhŸNh NubjZ)”}”(hŒstable@vger.kernel.org”h]”hŒstable@vger.kernel.org”…””}”(hjphžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:stable@vger.kernel.org”uh1jYhjTubhŒ8” nella patch stessa; questo permetterĂ  alla squadra ”…””}”(hjThžhhŸNh Nubjž)”}”(hŒ*stable*”h]”hŒstable”…””}”(hj„hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjTubhŒW di ricevere una notifica quando questa correzione viene integrata nel ramo principale.”…””}”(hjThžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh MWhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjíubeh}”(h]”h ]”h"]”h$]”h&]”jŰjÜuh1jZhŸjh MIhjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jThŸjh MIhj=hžhubh¨)”}”(hXMQuando scegliete i destinatari della patch, è bene avere un'idea di chi pensiate che sia colui che, eventualmente, accetterĂ  la vostra patch e la integrerĂ . Nonostante sia possibile inviare patch direttamente a Linus Torvalds, e lasciare che sia lui ad integrarle,solitamente non è la strada migliore da seguire. Linus è occupato, e ci sono dei manutentori di sotto-sistema che controllano una parte specifica del kernel. Solitamente, vorreste che siano questi manutentori ad integrare le vostre patch. Se non c'è un chiaro manutentore, l'ultima spiaggia è spesso Andrew Morton.”h]”hXSQuando scegliete i destinatari della patch, è bene avere un’idea di chi pensiate che sia colui che, eventualmente, accetterĂ  la vostra patch e la integrerĂ . Nonostante sia possibile inviare patch direttamente a Linus Torvalds, e lasciare che sia lui ad integrarle,solitamente non è la strada migliore da seguire. Linus è occupato, e ci sono dei manutentori di sotto-sistema che controllano una parte specifica del kernel. Solitamente, vorreste che siano questi manutentori ad integrare le vostre patch. Se non c’è un chiaro manutentore, l’ultima spiaggia è spesso Andrew Morton.”…””}”(hjŽhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh M^hj=hžhubh¨)”}”(hŒoLe patch devono avere anche un buon oggetto. Il tipico formato per l'oggetto di una patch assomiglia a questo:”h]”hŒqLe patch devono avere anche un buon oggetto. Il tipico formato per l’oggetto di una patch assomiglia a questo:”…””}”(hjźhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Mghj=hžhubj^)”}”(hŒ7[PATCH nn/mm] subsys: one-line description of the patch”h]”hŒ7[PATCH nn/mm] subsys: one-line description of the patch”…””}”hjĘsbah}”(h]”h ]”h"]”h$]”h&]”jmjnuh1j]hŸjh Mlhj=hžhubh¨)”}”(hŒćdove "nn" è il numero ordinale della patch, "mm" è il numero totale delle patch nella serie, e "subsys" è il nome del sottosistema interessato. Chiaramente, nn/mm può essere omesso per una serie composta da una singola patch.”h]”hŒňdove “nn” è il numero ordinale della patch, “mm” è il numero totale delle patch nella serie, e “subsys” è il nome del sottosistema interessato. Chiaramente, nn/mm può essere omesso per una serie composta da una singola patch.”…””}”(hjŘhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Mnhj=hžhubh¨)”}”(hX\Se avete una significative serie di patch, è prassi inviare una descrizione introduttiva come parte zero. Tuttavia questa convenzione non è universalmente seguita; se la usate, ricordate che le informazioni nell'introduzione non faranno parte del changelog del kernel. Quindi per favore, assicuratevi che ogni patch abbia un changelog completo.”h]”hX^Se avete una significative serie di patch, è prassi inviare una descrizione introduttiva come parte zero. Tuttavia questa convenzione non è universalmente seguita; se la usate, ricordate che le informazioni nell’introduzione non faranno parte del changelog del kernel. Quindi per favore, assicuratevi che ogni patch abbia un changelog completo.”…””}”(hjćhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Mrhj=hžhubh¨)”}”(hXŠIn generale, la seconda parte e quelle successive di una patch "composta" dovrebbero essere inviate come risposta alla prima, cosicchĂŠ vengano viste come un unico *thread*. Strumenti come git e quilt hanno comandi per inviare gruppi di patch con la struttura appropriata. Se avete una serie lunga e state usando git, per favore state alla larga dall'opzione --chain-reply-to per evitare di creare un annidamento eccessivo.”h]”(hŒ¨In generale, la seconda parte e quelle successive di una patch “composta” dovrebbero essere inviate come risposta alla prima, cosicchĂŠ vengano viste come un unico ”…””}”(hjôhžhhŸNh Nubjž)”}”(hŒ*thread*”h]”hŒthread”…””}”(hjühžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjôubhŒ˙. Strumenti come git e quilt hanno comandi per inviare gruppi di patch con la struttura appropriata. Se avete una serie lunga e state usando git, per favore state alla larga dall’opzione --chain-reply-to per evitare di creare un annidamento eccessivo.”…””}”(hjôhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸjh Mxhj=hžhubeh}”(h]”Œinviare-la-modifica”ah ]”h"]”Œinviare la modifica”ah$]”h&]”uh1j•hj—hžhhŸjh M(ubeh}”(h]”(Œpubblicare-modifiche”j”eh ]”h"]”(Œpubblicare modifiche”Œit_development_posting”eh$]”h&]”uh1j•hhhžhhŸjh K Œexpect_referenced_by_name”}”j" j‰sŒexpect_referenced_by_id”}”j”j‰subeh}”(h]”h ]”h"]”h$]”h&]”Œsource”juh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(jšNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jL Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”jŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”j”]”j‰asŒnameids”}”(j" j”j! j j2j/jöjój jj:j7j j uŒ nametypes”}”(j" ˆj! ‰j2‰jö‰j ‰j:‰j ‰uh}”(j”j—j j—j/jjój5jjůj7j j j=uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”h¨)”}”(hhh]”hŒ