sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/process/submitting-patchesmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Simplified)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/zh_CN/process/submitting-patchesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hChinese (Traditional)}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/zh_TW/process/submitting-patchesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ja_JP/process/submitting-patchesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ko_KR/process/submitting-patchesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/sp_SP/process/submitting-patchesmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageItalianuh1h hh _documenthsourceNlineNubhwarning)}(hIn 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)}(hIn 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](hIn caso di dubbi sulla correttezza del contenuto di questa traduzione, l’unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le }(hhhhhNhNubh)}(h!:ref:`avvertenze `h]hinline)}(hhh]h avvertenze}(hhhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdoc-translations/it_IT/process/submitting-patches refdomainhŒreftyperef refexplicitrefwarn reftarget it_disclaimeruh1hh3Documentation/translations/it_IT/disclaimer-ita.rsthKhhubh.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhh[/var/lib/git/docbuild/linux/Documentation/translations/it_IT/process/submitting-patches.rsthKubh field_body)}(hG:ref:`Documentation/process/submitting-patches.rst `h]h)}(hjh]h)}(hjh]h)}(hjh]h,Documentation/process/submitting-patches.rst}(hjhhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]refdochΌ refdomainjreftyperef refexplicitrefwarnhԌsubmittingpatchesuh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhhubeh}(h]h ]h"]h$]h&]uh1hhjhKhhhhubh)}(hhh](h)}(h Translatorh]h Translator}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hjhKubj)}(h)Federico Vaga h]h)}(h(Federico Vaga h](hFederico Vaga <}(hjQhhhNhNubh reference)}(hfederico.vaga@vaga.pv.ith]hfederico.vaga@vaga.pv.it}(hj[hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:federico.vaga@vaga.pv.ituh1jYhjQubh>}(hjQhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjMubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1hhjhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhjhKubhtarget)}(h.. _it_submittingpatches:h]h}(h]h ]h"]h$]h&]refidit-submittingpatchesuh1jhKhhhhhjubhsection)}(hhh](htitle)}(hIInviare patch: la guida essenziale per vedere il vostro codice nel kernelh]hIInviare patch: la guida essenziale per vedere il vostro codice nel kernel}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhjhK ubh)}(hXDUna persona o un'azienda che volesse inviare una patch al kernel potrebbe sentirsi scoraggiata dal processo di sottomissione, specialmente quando manca una certa familiarità col "sistema". Questo testo è una raccolta di suggerimenti che aumenteranno significativamente le probabilità di vedere le vostre patch accettate.h]hXJUna persona o un’azienda che volesse inviare una patch al kernel potrebbe sentirsi scoraggiata dal processo di sottomissione, specialmente quando manca una certa familiarità col “sistema”. Questo testo è una raccolta di suggerimenti che aumenteranno significativamente le probabilità di vedere le vostre patch accettate.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjhhubh)}(hXQuesto documento contiene un vasto numero di suggerimenti concisi. Per maggiori dettagli su come funziona il processo di sviluppo del kernel leggete Documentation/translations/it_IT/process/development-process.rst. Leggete anche Documentation/translations/it_IT/process/submit-checklist.rst per una lista di punti da verificare prima di inviare del codice. Per delle patch relative alle associazioni per Device Tree leggete Documentation/translations/it_IT/process/submitting-patches.rst.h]hXQuesto documento contiene un vasto numero di suggerimenti concisi. Per maggiori dettagli su come funziona il processo di sviluppo del kernel leggete Documentation/translations/it_IT/process/development-process.rst. Leggete anche Documentation/translations/it_IT/process/submit-checklist.rst per una lista di punti da verificare prima di inviare del codice. Per delle patch relative alle associazioni per Device Tree leggete Documentation/translations/it_IT/process/submitting-patches.rst.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjhhubh)}(hQuesta documentazione assume che sappiate usare ``git`` per preparare le patch. Se non siete pratici di ``git``, allora è bene che lo impariate; renderà la vostra vita di sviluppatore del kernel molto più semplice.h](h0Questa documentazione assume che sappiate usare }(hjhhhNhNubhliteral)}(h``git``h]hgit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh1 per preparare le patch. Se non siete pratici di }(hjhhhNhNubj)}(h``git``h]hgit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhj, allora è bene che lo impariate; renderà la vostra vita di sviluppatore del kernel molto più semplice.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubh)}(hI sorgenti di alcuni sottosistemi e manutentori contengono più informazioni riguardo al loro modo di lavorare ed aspettative. Consultate :ref:`Documentation/translations/it_IT/process/maintainer-handbooks.rst `h](hI sorgenti di alcuni sottosistemi e manutentori contengono più informazioni riguardo al loro modo di lavorare ed aspettative. Consultate }(hjhhhNhNubh)}(hg:ref:`Documentation/translations/it_IT/process/maintainer-handbooks.rst `h]h)}(hjh]hADocumentation/translations/it_IT/process/maintainer-handbooks.rst}(hjhhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]refdochΌ refdomainjreftyperef refexplicitrefwarnhԌit_maintainer_handbooks_mainuh1hhjhKhjubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubj)}(hhh](j)}(hOttenere i sorgenti attualih]hOttenere i sorgenti attuali}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hhhjhK"ubh)}(hSe non avete un repositorio coi sorgenti del kernel più recenti, allora usate ``git`` per ottenerli. Vorrete iniziare col repositorio principale che può essere recuperato col comando::h](hOSe non avete un repositorio coi sorgenti del kernel più recenti, allora usate }(hj9hhhNhNubj)}(h``git``h]hgit}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubhd per ottenerli. Vorrete iniziare col repositorio principale che può essere recuperato col comando:}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK$hj(hhubh literal_block)}(hJgit clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gith]hJgit clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git}hj[sbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1jYhjhK(hj(hhubh)}(hXNotate, comunque, che potreste non voler sviluppare direttamente coi sorgenti principali del kernel. La maggior parte dei manutentori hanno i propri sorgenti e desiderano che le patch siano preparate basandosi su di essi. Guardate l'elemento **T:** per un determinato sottosistema nel file MAINTANERS che troverete nei sorgenti, o semplicemente chiedete al manutentore nel caso in cui i sorgenti da usare non siano elencati il quel file.h](hNotate, comunque, che potreste non voler sviluppare direttamente coi sorgenti principali del kernel. La maggior parte dei manutentori hanno i propri sorgenti e desiderano che le patch siano preparate basandosi su di essi. Guardate l’elemento }(hjkhhhNhNubhstrong)}(h**T:**h]hT:}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jshjkubh per un determinato sottosistema nel file MAINTANERS che troverete nei sorgenti, o semplicemente chiedete al manutentore nel caso in cui i sorgenti da usare non siano elencati il quel file.}(hjkhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK*hj(hhubj)}(h.. _it_describe_changes:h]h}(h]h ]h"]h$]h&]jit-describe-changesuh1jhK;hj(hhhjubeh}(h]ottenere-i-sorgenti-attualiah ]h"]ottenere i sorgenti attualiah$]h&]uh1jhjhhhjhK"ubj)}(hhh](j)}(hDescrivete le vostre modificheh]hDescrivete le vostre modifiche}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhjhK4ubh)}(hXGDescrivete il vostro problema. Esiste sempre un problema che via ha spinto ha fare il vostro lavoro, che sia la correzione di un baco da una riga o una nuova funzionalità da 5000 righe di codice. Convincete i revisori che vale la pena risolvere il vostro problema e che ha senso continuare a leggere oltre al primo paragrafo.h]hXGDescrivete il vostro problema. Esiste sempre un problema che via ha spinto ha fare il vostro lavoro, che sia la correzione di un baco da una riga o una nuova funzionalità da 5000 righe di codice. Convincete i revisori che vale la pena risolvere il vostro problema e che ha senso continuare a leggere oltre al primo paragrafo.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK6hjhhubh)}(hXDescrivete ciò che sarà visibile agli utenti. Chiari incidenti nel sistema e blocchi sono abbastanza convincenti, ma non tutti i bachi sono così evidenti. Anche se il problema è stato scoperto durante la revisione del codice, descrivete l'impatto che questo avrà sugli utenti. Tenete presente che la maggior parte delle installazioni Linux usa un kernel che arriva dai sorgenti stabili o dai sorgenti di una distribuzione particolare che prende singolarmente le patch dai sorgenti principali; quindi, includete tutte le informazioni che possono essere utili a capire le vostre modifiche: le circostanze che causano il problema, estratti da dmesg, descrizioni di un incidente di sistema, prestazioni di una regressione, picchi di latenza, blocchi, eccetera.h]hXDescrivete ciò che sarà visibile agli utenti. Chiari incidenti nel sistema e blocchi sono abbastanza convincenti, ma non tutti i bachi sono così evidenti. Anche se il problema è stato scoperto durante la revisione del codice, descrivete l’impatto che questo avrà sugli utenti. Tenete presente che la maggior parte delle installazioni Linux usa un kernel che arriva dai sorgenti stabili o dai sorgenti di una distribuzione particolare che prende singolarmente le patch dai sorgenti principali; quindi, includete tutte le informazioni che possono essere utili a capire le vostre modifiche: le circostanze che causano il problema, estratti da dmesg, descrizioni di un incidente di sistema, prestazioni di una regressione, picchi di latenza, blocchi, eccetera.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKh]hBWARNING: le cose necessitano d’essere revisionate con attenzione}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj<ubah}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(h,CHECK: le cose necessitano di un pensierino h]h)}(h+CHECK: le cose necessitano di un pensierinoh]h+CHECK: le cose necessitano di un pensierino}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjSubah}(h]h ]h"]h$]h&]uh1j#hj ubeh}(h]h ]h"]h$]h&]bullet-uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubh)}(hbDovreste essere in grado di giustificare tutte le eventuali violazioni rimaste nella vostra patch.h]hbDovreste essere in grado di giustificare tutte le eventuali violazioni rimaste nella vostra patch.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjhhubeh}(h]*verificate-lo-stile-delle-vostre-modificheah ]h"]-4) verificate lo stile delle vostre modificheah$]h&]uh1jhjhhhjhKubj)}(hhh](j)}(h/5) Selezionate i destinatari della vostra patchh]h/5) Selezionate i destinatari della vostra patch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubh)}(hXDovreste sempre inviare una copia della patch ai manutentori e alle liste di discussione dei sottosistemi interessati dalle modifiche; date un'occhiata al file MAINTAINERS e alla storia delle revisioni per scoprire chi si occupa del codice. Lo script scripts/get_maintainer.pl può esservi d'aiuto (passategli il percorso alle vostre patch). Se non riuscite a trovare un manutentore per il sottosistema su cui state lavorando, allora Andrew Morton (akpm@linux-foundation.org) sarà la vostra ultima possibilità.h](hXDovreste sempre inviare una copia della patch ai manutentori e alle liste di discussione dei sottosistemi interessati dalle modifiche; date un’occhiata al file MAINTAINERS e alla storia delle revisioni per scoprire chi si occupa del codice. Lo script scripts/get_maintainer.pl può esservi d’aiuto (passategli il percorso alle vostre patch). Se non riuscite a trovare un manutentore per il sottosistema su cui state lavorando, allora Andrew Morton (}(hjhhhNhNubjZ)}(hakpm@linux-foundation.orgh]hakpm@linux-foundation.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:akpm@linux-foundation.orguh1jYhjubh&) sarà la vostra ultima possibilità.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubh)}(hXKLa lista linux-kernel@vger.kernel.org dovrebbe essere usata per l'invio di tutte le patch, ma il volume ha raggiunto un livello tale d'aver spinto alcuni sviluppatori a non seguirla più. Dunque, per favore, evitate di inviare messaggi scorrelati al tema della lista o a persone che non dovrebbero essere interessate all'argomento.h](h La lista }(hjhhhNhNubjZ)}(hlinux-kernel@vger.kernel.orgh]hlinux-kernel@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri#mailto:linux-kernel@vger.kernel.orguh1jYhjubhX, dovrebbe essere usata per l’invio di tutte le patch, ma il volume ha raggiunto un livello tale d’aver spinto alcuni sviluppatori a non seguirla più. Dunque, per favore, evitate di inviare messaggi scorrelati al tema della lista o a persone che non dovrebbero essere interessate all’argomento.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjhhubh)}(hXNormalmente, dovreste anche scegliere una lista di discussione a cui inviare la vostra serie di patch. La lista di discussione linux-kernel@vger.kernel.org dovrebbe essere usata per inviare tutte le patch, ma il traffico è tale per cui diversi sviluppatori la trascurano. Guardate nel file MAINTAINERS per trovare la lista di discussione dedicata ad un sottosistema; probabilmente lì la vostra patch riceverà molta più attenzione. Tuttavia, per favore, non spammate le liste di discussione che non sono interessate al vostro lavoro.h](hNormalmente, dovreste anche scegliere una lista di discussione a cui inviare la vostra serie di patch. La lista di discussione }(hjhhhNhNubjZ)}(hlinux-kernel@vger.kernel.orgh]hlinux-kernel@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri#mailto:linux-kernel@vger.kernel.orguh1jYhjubhX} dovrebbe essere usata per inviare tutte le patch, ma il traffico è tale per cui diversi sviluppatori la trascurano. Guardate nel file MAINTAINERS per trovare la lista di discussione dedicata ad un sottosistema; probabilmente lì la vostra patch riceverà molta più attenzione. Tuttavia, per favore, non spammate le liste di discussione che non sono interessate al vostro lavoro.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM hjhhubh)}(hMolte delle liste di discussione relative al kernel vengono ospitate su kernel.org; potete trovare un loro elenco alla pagina https://subspace.kernel.org. Tuttavia, ci sono altre liste di discussione ospitate altrove.h](h~Molte delle liste di discussione relative al kernel vengono ospitate su kernel.org; potete trovare un loro elenco alla pagina }(hjhhhNhNubjZ)}(hhttps://subspace.kernel.orgh]hhttps://subspace.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jYhjubh@. Tuttavia, ci sono altre liste di discussione ospitate altrove.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjhhubh)}(hXML'ultimo giudizio sull'integrazione delle modifiche accettate spetta a Linux Torvalds. Il suo indirizzo e-mail è . Riceve moltissime e-mail, e, a questo punto, solo poche patch passano direttamente attraverso il suo giudizio; quindi, dovreste fare del vostro meglio per -evitare di- inviargli e-mail.h](hxL’ultimo giudizio sull’integrazione delle modifiche accettate spetta a Linux Torvalds. Il suo indirizzo e-mail è <}(hj3hhhNhNubjZ)}(htorvalds@linux-foundation.orgh]htorvalds@linux-foundation.org}(hj;hhhNhNubah}(h]h ]h"]h$]h&]refuri$mailto:torvalds@linux-foundation.orguh1jYhj3ubh>. Riceve moltissime e-mail, e, a questo punto, solo poche patch passano direttamente attraverso il suo giudizio; quindi, dovreste fare del vostro meglio per -evitare di- inviargli e-mail.}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjhhubh)}(hXSe avete una patch che corregge un baco di sicurezza che potrebbe essere sfruttato, inviatela a security@kernel.org. Per bachi importanti, un breve embargo potrebbe essere preso in considerazione per dare il tempo alle distribuzioni di prendere la patch e renderla disponibile ai loro utenti; in questo caso, ovviamente, la patch non dovrebbe essere inviata su alcuna lista di discussione pubblica. Leggete anche Documentation/process/security-bugs.rst.h](h`Se avete una patch che corregge un baco di sicurezza che potrebbe essere sfruttato, inviatela a }(hjUhhhNhNubjZ)}(hsecurity@kernel.orgh]hsecurity@kernel.org}(hj]hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:security@kernel.orguh1jYhjUubhXS. Per bachi importanti, un breve embargo potrebbe essere preso in considerazione per dare il tempo alle distribuzioni di prendere la patch e renderla disponibile ai loro utenti; in questo caso, ovviamente, la patch non dovrebbe essere inviata su alcuna lista di discussione pubblica. Leggete anche Documentation/process/security-bugs.rst.}(hjUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM hjhhubh)}(hPatch che correggono bachi importanti su un kernel già rilasciato, dovrebbero essere inviate ai manutentori dei kernel stabili aggiungendo la seguente riga::h]hPatch che correggono bachi importanti su un kernel già rilasciato, dovrebbero essere inviate ai manutentori dei kernel stabili aggiungendo la seguente riga:}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM(hjhhubjZ)}(hCc: stable@vger.kernel.orgh]hCc: stable@vger.kernel.org}hjsbah}(h]h ]h"]h$]h&]jijjuh1jYhjhM+hjhhubh)}(hnella vostra patch, nell'area dedicata alle firme (notate, NON come destinatario delle e-mail). In aggiunta a questo file, dovreste leggere anche Documentation/translations/it_IT/process/stable-kernel-rules.rst.h]hnella vostra patch, nell’area dedicata alle firme (notate, NON come destinatario delle e-mail). In aggiunta a questo file, dovreste leggere anche Documentation/translations/it_IT/process/stable-kernel-rules.rst.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM-hjhhubh)}(hXSe le modifiche hanno effetti sull'interfaccia con lo spazio utente, per favore inviate una patch per le pagine man ai manutentori di suddette pagine (elencati nel file MAINTAINERS), o almeno una notifica circa la vostra modifica, cosicché l'informazione possa trovare la sua strada nel manuale. Le modifiche all'API dello spazio utente dovrebbero essere inviate in copia anche a linux-api@vger.kernel.org.h](hXSe le modifiche hanno effetti sull’interfaccia con lo spazio utente, per favore inviate una patch per le pagine man ai manutentori di suddette pagine (elencati nel file MAINTAINERS), o almeno una notifica circa la vostra modifica, cosicché l’informazione possa trovare la sua strada nel manuale. Le modifiche all’API dello spazio utente dovrebbero essere inviate in copia anche a }(hjhhhNhNubjZ)}(hlinux-api@vger.kernel.orgh]hlinux-api@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-api@vger.kernel.orguh1jYhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM1hjhhubeh}(h],selezionate-i-destinatari-della-vostra-patchah ]h"]/5) selezionate i destinatari della vostra patchah$]h&]uh1jhjhhhjhKubj)}(hhh](j)}(h=Niente: MIME, links, compressione, allegati. Solo puro testoh]h=Niente: MIME, links, compressione, allegati. Solo puro testo}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM9ubh)}(hX1Linus e gli altri sviluppatori del kernel devono poter commentare le modifiche che sottomettete. Per uno sviluppatore è importante essere in grado di "citare" le vostre modifiche, usando normali programmi di posta elettronica, cosicché sia possibile commentare una porzione specifica del vostro codice.h]hX5Linus e gli altri sviluppatori del kernel devono poter commentare le modifiche che sottomettete. Per uno sviluppatore è importante essere in grado di “citare” le vostre modifiche, usando normali programmi di posta elettronica, cosicché sia possibile commentare una porzione specifica del vostro codice.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM;hjhhubh)}(hPer questa ragione tutte le patch devono essere inviate via e-mail come testo. Il modo più facile, e quello raccomandato, è con ``git send-email``. Al sito https://git-send-email.io è disponibile una guida interattiva sull'uso di ``git send-email``.h](hPer questa ragione tutte le patch devono essere inviate via e-mail come testo. Il modo più facile, e quello raccomandato, è con }(hjhhhNhNubj)}(h``git send-email``h]hgit send-email}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh . Al sito }(hjhhhNhNubjZ)}(hhttps://git-send-email.ioh]hhttps://git-send-email.io}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jYhjubh4 è disponibile una guida interattiva sull’uso di }(hjhhhNhNubj)}(h``git send-email``h]hgit send-email}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMAhjhhubh)}(h,Se decidete di non usare ``git send-email``:h](hSe decidete di non usare }(hj/hhhNhNubj)}(h``git send-email``h]hgit send-email}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubh:}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMFhjhhubh)}(hSe decidete di copiare ed incollare la patch nel corpo dell'e-mail, state attenti che il vostro programma non corrompa il contenuto con andate a capo automatiche.h]h)}(hSe decidete di copiare ed incollare la patch nel corpo dell'e-mail, state attenti che il vostro programma non corrompa il contenuto con andate a capo automatiche.h]hSe decidete di copiare ed incollare la patch nel corpo dell’e-mail, state attenti che il vostro programma non corrompa il contenuto con andate a capo automatiche.}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMJhjOubah}(h]h ]h"]h$]h&]uh1hhjhhhjhNubh)}(hXqLa patch non deve essere un allegato MIME, compresso o meno. Molti dei più popolari programmi di posta elettronica non trasmettono un allegato MIME come puro testo, e questo rende impossibile commentare il vostro codice. Inoltre, un allegato MIME rende l'attività di Linus più laboriosa, diminuendo così la possibilità che il vostro allegato-MIME venga accettato.h]hXsLa patch non deve essere un allegato MIME, compresso o meno. Molti dei più popolari programmi di posta elettronica non trasmettono un allegato MIME come puro testo, e questo rende impossibile commentare il vostro codice. Inoltre, un allegato MIME rende l’attività di Linus più laboriosa, diminuendo così la possibilità che il vostro allegato-MIME venga accettato.}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMNhjhhubh)}(hEccezione: se il vostro servizio di posta storpia le patch, allora qualcuno potrebbe chiedervi di rinviarle come allegato MIME.h]hEccezione: se il vostro servizio di posta storpia le patch, allora qualcuno potrebbe chiedervi di rinviarle come allegato MIME.}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMThjhhubh)}(hLeggete Documentation/translations/it_IT/process/email-clients.rst per dei suggerimenti sulla configurazione del programmi di posta elettronica per l'invio di patch intatte.h]hLeggete Documentation/translations/it_IT/process/email-clients.rst per dei suggerimenti sulla configurazione del programmi di posta elettronica per l’invio di patch intatte.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMWhjhhubeh}(h]7niente-mime-links-compressione-allegati-solo-puro-testoah ]h"]h]h@Signed-off-by: Random J Developer }hj$ sbah}(h]h ]h"]h$]h&]jijjuh1jYhjhMhjz hhubh)}(hXusando il vostro vero nome (spiacenti, non si accettano contributi anonimi). Questo verrà fatto automaticamente se usate ``git commit -s``. Anche il ripristino di uno stato precedente dovrebbe includere "Signed-off-by", se usate ``git revert -s`` questo verrà fatto automaticamente.h](hzusando il vostro vero nome (spiacenti, non si accettano contributi anonimi). Questo verrà fatto automaticamente se usate }(hj2 hhhNhNubj)}(h``git commit -s``h]h git commit -s}(hj: hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2 ubh_. Anche il ripristino di uno stato precedente dovrebbe includere “Signed-off-by”, se usate }(hj2 hhhNhNubj)}(h``git revert -s``h]h git revert -s}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2 ubh% questo verrà fatto automaticamente.}(hj2 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjz hhubh)}(hAlcune persone aggiungono delle etichette alla fine. Per ora queste verranno ignorate, ma potete farlo per meglio identificare procedure aziendali interne o per aggiungere dettagli circa la firma.h]hAlcune persone aggiungono delle etichette alla fine. Per ora queste verranno ignorate, ma potete farlo per meglio identificare procedure aziendali interne o per aggiungere dettagli circa la firma.}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjz hhubh)}(hXyIn seguito al SoB (Signed-off-by:) dell'autore ve ne sono altri da parte di tutte quelle persone che si sono occupate della gestione e del trasporto della patch. Queste però non sono state coinvolte nello sviluppo, ma la loro sequenza d'apparizione ci racconta il percorso **reale** che una patch a intrapreso dallo sviluppatore, fino al manutentore, per poi giungere a Linus.h](hXIn seguito al SoB (Signed-off-by:) dell’autore ve ne sono altri da parte di tutte quelle persone che si sono occupate della gestione e del trasporto della patch. Queste però non sono state coinvolte nello sviluppo, ma la loro sequenza d’apparizione ci racconta il percorso }(hjr hhhNhNubjt)}(h **reale**h]hreale}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1jshjr ubh^ che una patch a intrapreso dallo sviluppatore, fino al manutentore, per poi giungere a Linus.}(hjr hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjz hhubeh}(h]/il-certificato-d-origine-dello-sviluppatore-1-1ah ]h"]/il certificato d'origine dello sviluppatore 1.1ah$]h&]uh1jhjM hhhjhMubeh}(h]Dfirmate-il-vostro-lavoro-il-certificato-d-origine-dello-sviluppatoreah ]h"]Ffirmate il vostro lavoro - il certificato d'origine dello sviluppatoreah$]h&]uh1jhjhhhjhMubj)}(hhh](j)}(h4Quando utilizzare Acked-by:, Cc:, e Co-developed-by:h]h4Quando utilizzare Acked-by:, Cc:, e Co-developed-by:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hhhjhMubh)}(hL'etichetta Signed-off-by: indica che il firmatario è stato coinvolto nello sviluppo della patch, o che era nel suo percorso di consegna.h]hL’etichetta Signed-off-by: indica che il firmatario è stato coinvolto nello sviluppo della patch, o che era nel suo percorso di consegna.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hSe una persona non è direttamente coinvolta con la preparazione o gestione della patch ma desidera firmare e mettere agli atti la loro approvazione, allora queste persone possono chiedere di aggiungere al changelog della patch una riga Acked-by:.h]hSe una persona non è direttamente coinvolta con la preparazione o gestione della patch ma desidera firmare e mettere agli atti la loro approvazione, allora queste persone possono chiedere di aggiungere al changelog della patch una riga Acked-by:.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hAcked-by: viene spesso utilizzato dai manutentori del sottosistema in oggetto quando quello stesso manutentore non ha contribuito né trasmesso la patch.h]hAcked-by: viene spesso utilizzato dai manutentori del sottosistema in oggetto quando quello stesso manutentore non ha contribuito né trasmesso la patch.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hX-Acked-by: non è formale come Signed-off-by:. Questo indica che la persona ha revisionato la patch e l'ha trovata accettabile. Per cui, a volte, chi integra le patch convertirà un "sì, mi sembra che vada bene" in un Acked-by: (ma tenete presente che solitamente è meglio chiedere esplicitamente).h]hX3Acked-by: non è formale come Signed-off-by:. Questo indica che la persona ha revisionato la patch e l’ha trovata accettabile. Per cui, a volte, chi integra le patch convertirà un “sì, mi sembra che vada bene” in un Acked-by: (ma tenete presente che solitamente è meglio chiedere esplicitamente).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hXAcked-by: non indica l'accettazione di un'intera patch. Per esempio, quando una patch ha effetti su diversi sottosistemi e ha un Acked-by: da un manutentore di uno di questi, significa che il manutentore accetta quella parte di codice relativa al sottosistema che mantiene. Qui dovremmo essere giudiziosi. Quando si hanno dei dubbi si dovrebbe far riferimento alla discussione originale negli archivi della lista di discussione.h]hXAcked-by: non indica l’accettazione di un’intera patch. Per esempio, quando una patch ha effetti su diversi sottosistemi e ha un Acked-by: da un manutentore di uno di questi, significa che il manutentore accetta quella parte di codice relativa al sottosistema che mantiene. Qui dovremmo essere giudiziosi. Quando si hanno dei dubbi si dovrebbe far riferimento alla discussione originale negli archivi della lista di discussione.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hXSe una persona ha avuto l'opportunità di commentare la patch, ma non lo ha fatto, potete aggiungere l'etichetta ``Cc:`` alla patch. Questa è l'unica etichetta che può essere aggiunta senza che la persona in questione faccia alcunché - ma dovrebbe indicare che la persona ha ricevuto una copia della patch. Questa etichetta documenta che terzi potenzialmente interessati sono stati inclusi nella discussione.h](huSe una persona ha avuto l’opportunità di commentare la patch, ma non lo ha fatto, potete aggiungere l’etichetta }(hj hhhNhNubj)}(h``Cc:``h]hCc:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhX' alla patch. Questa è l’unica etichetta che può essere aggiunta senza che la persona in questione faccia alcunché - ma dovrebbe indicare che la persona ha ricevuto una copia della patch. Questa etichetta documenta che terzi potenzialmente interessati sono stati inclusi nella discussione.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM hj hhubh)}(hXCo-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. Dato che Co-developed-by: implica la paternità della patch, ogni Co-developed-by: dev'essere seguito immediatamente dal Signed-off-by: del corrispondente coautore. Qui si applica la procedura di base per sign-off, in pratica l'ordine delle etichette Signed-off-by: dovrebbe riflettere il più possibile l'ordine cronologico della storia della patch, indipendentemente dal fatto che la paternità venga assegnata via From: o Co-developed-by:. Da notare che l'ultimo Signed-off-by: dev'essere quello di colui che ha sottomesso la patch.h]hXCo-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. Dato che Co-developed-by: implica la paternità della patch, ogni Co-developed-by: dev’essere seguito immediatamente dal Signed-off-by: del corrispondente coautore. Qui si applica la procedura di base per sign-off, in pratica l’ordine delle etichette Signed-off-by: dovrebbe riflettere il più possibile l’ordine cronologico della storia della patch, indipendentemente dal fatto che la paternità venga assegnata via From: o Co-developed-by:. Da notare che l’ultimo Signed-off-by: dev’essere quello di colui che ha sottomesso la patch.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hNotate anche che l'etichetta From: è opzionale quando l'autore in From: è anche la persona (e indirizzo email) indicato nel From: dell'intestazione dell'email.h]hNotate anche che l’etichetta From: è opzionale quando l’autore in From: è anche la persona (e indirizzo email) indicato nel From: dell’intestazione dell’email.}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(h6Esempio di una patch sottomessa dall'autore in From:::h]h7Esempio di una patch sottomessa dall’autore in From::}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM!hj hhubjZ)}(hX9 Co-developed-by: First Co-Author Signed-off-by: First Co-Author Co-developed-by: Second Co-Author Signed-off-by: Second Co-Author Signed-off-by: From Author h]hX9 Co-developed-by: First Co-Author Signed-off-by: First Co-Author Co-developed-by: Second Co-Author Signed-off-by: Second Co-Author Signed-off-by: From Author }hjC sbah}(h]h ]h"]h$]h&]jijjuh1jYhjhM#hj hhubh)}(h>Esempio di una patch sottomessa dall'autore Co-developed-by:::h]h?Esempio di una patch sottomessa dall’autore Co-developed-by::}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM+hj hhubjZ)}(hXlFrom: From Author Co-developed-by: Random Co-Author Signed-off-by: Random Co-Author Signed-off-by: From Author Co-developed-by: Submitting Co-Author Signed-off-by: Submitting Co-Author h]hXlFrom: From Author Co-developed-by: Random Co-Author Signed-off-by: Random Co-Author Signed-off-by: From Author Co-developed-by: Submitting Co-Author Signed-off-by: Submitting Co-Author }hj_ sbah}(h]h ]h"]h$]h&]jijjuh1jYhjhM-hj hhubeh}(h]/quando-utilizzare-acked-by-cc-e-co-developed-byah ]h"]4quando utilizzare acked-by:, cc:, e co-developed-by:ah$]h&]uh1jhjhhhjhMubj)}(hhh](j)}(hIUtilizzare Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: e Fixes:h]hIUtilizzare Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: e Fixes:}(hjx hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju hhhjhM8ubh)}(hXL'etichetta Reported-by da credito alle persone che trovano e riportano i bachi e si spera che questo possa ispirarli ad aiutarci nuovamente in futuro. Rammentate che se il baco è stato riportato in privato, dovrete chiedere il permesso prima di poter utilizzare l'etichetta Reported-by. Questa etichetta va usata per i bachi, dunque non usatela per richieste di nuove funzionalità. 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]hXL’etichetta Reported-by da credito alle persone che trovano e riportano i bachi e si spera che questo possa ispirarli ad aiutarci nuovamente in futuro. Rammentate che se il baco è stato riportato in privato, dovrete chiedere il permesso prima di poter utilizzare l’etichetta Reported-by. Questa etichetta va usata per i bachi, dunque non usatela per richieste di nuove funzionalità. 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM:hju hhubh)}(hXdL'etichetta Tested-by: indica che la patch è stata verificata con successo (su un qualche sistema) dalla persona citata. Questa etichetta informa i manutentori che qualche verifica è stata fatta, fornisce un mezzo per trovare persone che possano verificare il codice in futuro, e garantisce che queste stesse persone ricevano credito per il loro lavoro.h]hXfL’etichetta Tested-by: indica che la patch è stata verificata con successo (su un qualche sistema) dalla persona citata. Questa etichetta informa i manutentori che qualche verifica è stata fatta, fornisce un mezzo per trovare persone che possano verificare il codice in futuro, e garantisce che queste stesse persone ricevano credito per il loro lavoro.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMDhju hhubh)}(hReviewed-by:, invece, indica che la patch è stata revisionata ed è stata considerata accettabile in accordo con la dichiarazione dei revisori:h]hReviewed-by:, invece, indica che la patch è stata revisionata ed è stata considerata accettabile in accordo con la dichiarazione dei revisori:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMJhju hhubj)}(hhh](j)}(h$Dichiarazione di svista dei revisorih]h$Dichiarazione di svista dei revisori}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hhhjhMNubh)}(h=Offrendo la mia etichetta Reviewed-by, dichiaro quanto segue:h]h=Offrendo la mia etichetta Reviewed-by, dichiaro quanto segue:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMPhj hhubj )}(hX(a) Ho effettuato una revisione tecnica di questa patch per valutarne l'adeguatezza ai fini dell'inclusione nel ramo principale del kernel. (b) Tutti i problemi e le domande riguardanti la patch sono stati comunicati al mittente. Sono soddisfatto dalle risposte del mittente. (c) Nonostante ci potrebbero essere cose migliorabili in queste sottomissione, credo che sia, in questo momento, (1) una modifica di interesse per il kernel, e (2) libera da problemi che potrebbero metterne in discussione l'integrazione. (d) Nonostante abbia revisionato la patch e creda che vada bene, non garantisco (se non specificato altrimenti) che questa otterrà quello che promette o funzionerà correttamente in tutte le possibili situazioni. h]j )}(hhh](j$)}(hHo effettuato una revisione tecnica di questa patch per valutarne l'adeguatezza ai fini dell'inclusione nel ramo principale del kernel. h]h)}(hHo effettuato una revisione tecnica di questa patch per valutarne l'adeguatezza ai fini dell'inclusione nel ramo principale del kernel.h]hHo effettuato una revisione tecnica di questa patch per valutarne l’adeguatezza ai fini dell’inclusione nel ramo principale del kernel.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMRhj ubah}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(hTutti i problemi e le domande riguardanti la patch sono stati comunicati al mittente. Sono soddisfatto dalle risposte del mittente. h]h)}(hTutti i problemi e le domande riguardanti la patch sono stati comunicati al mittente. Sono soddisfatto dalle risposte del mittente.h]hTutti i problemi e le domande riguardanti la patch sono stati comunicati al mittente. Sono soddisfatto dalle risposte del mittente.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMVhj ubah}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(hNonostante ci potrebbero essere cose migliorabili in queste sottomissione, credo che sia, in questo momento, (1) una modifica di interesse per il kernel, e (2) libera da problemi che potrebbero metterne in discussione l'integrazione. h]h)}(hNonostante ci potrebbero essere cose migliorabili in queste sottomissione, credo che sia, in questo momento, (1) una modifica di interesse per il kernel, e (2) libera da problemi che potrebbero metterne in discussione l'integrazione.h]hNonostante ci potrebbero essere cose migliorabili in queste sottomissione, credo che sia, in questo momento, (1) una modifica di interesse per il kernel, e (2) libera da problemi che potrebbero metterne in discussione l’integrazione.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMZhj ubah}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(hNonostante abbia revisionato la patch e creda che vada bene, non garantisco (se non specificato altrimenti) che questa otterrà quello che promette o funzionerà correttamente in tutte le possibili situazioni. h]h)}(hNonostante abbia revisionato la patch e creda che vada bene, non garantisco (se non specificato altrimenti) che questa otterrà quello che promette o funzionerà correttamente in tutte le possibili situazioni.h]hNonostante abbia revisionato la patch e creda che vada bene, non garantisco (se non specificato altrimenti) che questa otterrà quello che promette o funzionerà correttamente in tutte le possibili situazioni.}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM_hj ubah}(h]h ]h"]h$]h&]uh1j#hj ubeh}(h]h ]h"]h$]h&]j j j j j j uh1j hj ubah}(h]h ]h"]h$]h&]uh1j hjhMRhj hhubh)}(hXxL'etichetta Reviewed-by è la dichiarazione di un parere sulla bontà di una modifica che si ritiene appropriata e senza alcun problema tecnico importante. Qualsiasi revisore interessato (quelli che lo hanno fatto) possono offrire il proprio Reviewed-by per la patch. Questa etichetta serve a dare credito ai revisori e a informare i manutentori sul livello di revisione che è stato fatto sulla patch. L'etichetta Reviewed-by, quando fornita da revisori conosciuti per la loro conoscenza sulla materia in oggetto e per la loro serietà nella revisione, accrescerà le probabilità che la vostra patch venga integrate nel kernel.h]hX|L’etichetta Reviewed-by è la dichiarazione di un parere sulla bontà di una modifica che si ritiene appropriata e senza alcun problema tecnico importante. Qualsiasi revisore interessato (quelli che lo hanno fatto) possono offrire il proprio Reviewed-by per la patch. Questa etichetta serve a dare credito ai revisori e a informare i manutentori sul livello di revisione che è stato fatto sulla patch. L’etichetta Reviewed-by, quando fornita da revisori conosciuti per la loro conoscenza sulla materia in oggetto e per la loro serietà nella revisione, accrescerà le probabilità che la vostra patch venga integrate nel kernel.}(hjB hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMdhj hhubh)}(hXQuando si riceve una email sulla lista di discussione da un tester o un revisore, le etichette Tested-by o Reviewed-by devono essere aggiunte dall'autore quando invierà nuovamente la patch. Tuttavia, se la patch è cambiata in modo significativo, queste etichette potrebbero non avere più senso e quindi andrebbero rimosse. Solitamente si tiene traccia della rimozione nel changelog della patch (subito dopo il separatore '---').h]hXQuando si riceve una email sulla lista di discussione da un tester o un revisore, le etichette Tested-by o Reviewed-by devono essere aggiunte dall’autore quando invierà nuovamente la patch. Tuttavia, se la patch è cambiata in modo significativo, queste etichette potrebbero non avere più senso e quindi andrebbero rimosse. Solitamente si tiene traccia della rimozione nel changelog della patch (subito dopo il separatore ‘---‘).}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMnhj hhubh)}(hXL'etichetta Suggested-by: indica che l'idea della patch è stata suggerita dalla persona nominata e le da credito. Tenete a mente che questa etichetta non dovrebbe essere aggiunta senza un permesso esplicito, specialmente se l'idea non è stata pubblicata in un forum pubblico. Detto ciò, dando credito a chi ci fornisce delle idee, si spera di poterli ispirare ad aiutarci nuovamente in futuro.h]hXL’etichetta Suggested-by: indica che l’idea della patch è stata suggerita dalla persona nominata e le da credito. Tenete a mente che questa etichetta non dovrebbe essere aggiunta senza un permesso esplicito, specialmente se l’idea non è stata pubblicata in un forum pubblico. Detto ciò, dando credito a chi ci fornisce delle idee, si spera di poterli ispirare ad aiutarci nuovamente in futuro.}(hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMuhj hhubh)}(hXL'etichetta Fixes: indica che la patch corregge un problema in un commit precedente. Serve a chiarire l'origine di un baco, il che aiuta la revisione del baco stesso. Questa etichetta è di aiuto anche per i manutentori dei kernel stabili al fine di capire quale kernel deve ricevere la correzione. Questo è il modo suggerito per indicare che un baco è stato corretto nella patch. Per maggiori dettagli leggete :ref:`it_describe_changes`h](hXL’etichetta Fixes: indica che la patch corregge un problema in un commit precedente. Serve a chiarire l’origine di un baco, il che aiuta la revisione del baco stesso. Questa etichetta è di aiuto anche per i manutentori dei kernel stabili al fine di capire quale kernel deve ricevere la correzione. Questo è il modo suggerito per indicare che un baco è stato corretto nella patch. Per maggiori dettagli leggete }(hjl hhhNhNubh)}(h:ref:`it_describe_changes`h]h)}(hjv h]hit_describe_changes}(hjx hhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhjt ubah}(h]h ]h"]h$]h&]refdochΌ refdomainj reftyperef refexplicitrefwarnhԌit_describe_changesuh1hhjhM|hjl ubeh}(h]h ]h"]h$]h&]uh1hhjhM|hj hhubh)}(hDa notare che aggiungere un tag "Fixes:" non esime dalle regole previste per i kernel stabili, e nemmeno dalla necessità di aggiungere in copia conoscenza stable@vger.kernel.org su tutte le patch per suddetti kernel.h](hDa notare che aggiungere un tag “Fixes:” non esime dalle regole previste per i kernel stabili, e nemmeno dalla necessità di aggiungere in copia conoscenza }(hj hhhNhNubjZ)}(hstable@vger.kernel.orgh]hstable@vger.kernel.org}(hj hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:stable@vger.kernel.orguh1jYhj ubh' su tutte le patch per suddetti kernel.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubj)}(h".. _it_the_canonical_patch_format:h]h}(h]h ]h"]h$]h&]jit-the-canonical-patch-formatuh1jhMhj hhhjubeh}(h]$dichiarazione-di-svista-dei-revisoriah ]h"]$dichiarazione di svista dei revisoriah$]h&]uh1jhju hhhjhMNubeh}(h]Autilizzare-reported-by-tested-by-reviewed-by-suggested-by-e-fixesah ]h"]Iutilizzare reported-by:, tested-by:, reviewed-by:, suggested-by: e fixes:ah$]h&]uh1jhjhhhjhM8ubj)}(hhh](j)}(hIl formato canonico delle patchh]hIl formato canonico delle patch}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hhhjhMubh)}(hXFQuesta sezione descrive il formato che dovrebbe essere usato per le patch. Notate che se state usando un repositorio ``git`` per salvare le vostre patch potere usare il comando ``git format-patch`` per ottenere patch nel formato appropriato. Lo strumento non crea il testo necessario, per cui, leggete le seguenti istruzioni.h](huQuesta sezione descrive il formato che dovrebbe essere usato per le patch. Notate che se state usando un repositorio }(hj hhhNhNubj)}(h``git``h]hgit}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh5 per salvare le vostre patch potere usare il comando }(hj hhhNhNubj)}(h``git format-patch``h]hgit format-patch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh per ottenere patch nel formato appropriato. Lo strumento non crea il testo necessario, per cui, leggete le seguenti istruzioni.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(h,L'oggetto di una patch canonica è la riga::h]h-L’oggetto di una patch canonica è la riga:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubjZ)}(h2Subject: [PATCH 001/123] subsystem: summary phraseh]h2Subject: [PATCH 001/123] subsystem: summary phrase}hj(sbah}(h]h ]h"]h$]h&]jijjuh1jYhjhMhj hhubh)}(h...] ". Le etichette non verranno considerate come parte della frase riassuntiva, ma indicano come la patch dovrebbe essere trattata. Fra le etichette più comuni ci sono quelle di versione che vengono usate quando una patch è stata inviata più volte (per esempio, "v1, v2, v3"); oppure "RFC" per indicare che si attendono dei commenti (*Request For Comments*).h](hLa }(hjShhhNhNubj)}(h``summary phrase``h]hsummary phrase}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubh può avere un’etichetta (}(hjShhhNhNubj)}(h*tag*h]htag}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubhX) di prefisso racchiusa fra le parentesi quadre “Subject: [PATCH ...] ”. Le etichette non verranno considerate come parte della frase riassuntiva, ma indicano come la patch dovrebbe essere trattata. Fra le etichette più comuni ci sono quelle di versione che vengono usate quando una patch è stata inviata più volte (per esempio, “v1, v2, v3”); oppure “RFC” per indicare che si attendono dei commenti (}(hjShhhNhNubj)}(h*Request For Comments*h]hRequest For Comments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubh).}(hjShhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hX Se ci sono quattro patch nella serie, queste dovrebbero essere enumerate così: 1/4, 2/4, 3/4, 4/4. Questo assicura che gli sviluppatori capiranno l'ordine in cui le patch dovrebbero essere applicate, e per tracciare quelle che hanno revisionate o che hanno applicato.h]hXSe ci sono quattro patch nella serie, queste dovrebbero essere enumerate così: 1/4, 2/4, 3/4, 4/4. Questo assicura che gli sviluppatori capiranno l’ordine in cui le patch dovrebbero essere applicate, e per tracciare quelle che hanno revisionate o che hanno applicato.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hUn paio di esempi di oggetti::h]hUn paio di esempi di oggetti:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubjZ)}(hSubject: [PATCH 2/5] ext2: improve scalability of bitmap searching Subject: [PATCH v2 01/27] x86: fix eflags tracking Subject: [PATCH v2] sub/sys: Condensed patch summary Subject: [PATCH v2 M/N] sub/sys: Condensed patch summaryh]hSubject: [PATCH 2/5] ext2: improve scalability of bitmap searching Subject: [PATCH v2 01/27] x86: fix eflags tracking Subject: [PATCH v2] sub/sys: Condensed patch summary Subject: [PATCH v2 M/N] sub/sys: Condensed patch summary}hjsbah}(h]h ]h"]h$]h&]jijjuh1jYhjhMhj hhubh)}(hOLa riga ``from`` dev'essere la prima nel corpo del messaggio ed è nel formato:h](hLa riga }(hjhhhNhNubj)}(h``from``h]hfrom}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhA dev’essere la prima nel corpo del messaggio ed è nel formato:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubj )}(h(From: Patch Author h]h)}(h'From: Patch Author h](hFrom: Patch Author <}(hjhhhNhNubjZ)}(hauthor@example.comh]hauthor@example.com}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:author@example.comuh1jYhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjhMhj hhubh)}(hLa riga ``from`` indica chi verrà accreditato nel changelog permanente come l'autore della patch. Se la riga ``from`` è mancante, allora per determinare l'autore da inserire nel changelog verrà usata la riga ``From`` nell'intestazione dell'email.h](hLa riga }(hj hhhNhNubj)}(h``from``h]hfrom}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubha indica chi verrà accreditato nel changelog permanente come l’autore della patch. Se la riga }(hj hhhNhNubj)}(h``from``h]hfrom}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh_ è mancante, allora per determinare l’autore da inserire nel changelog verrà usata la riga }(hj hhhNhNubj)}(h``From``h]hFrom}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh" nell’intestazione dell’email.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hXWIl corpo della spiegazione verrà incluso nel changelog permanente, per cui deve aver senso per un lettore esperto che è ha dimenticato i dettagli della discussione che hanno portato alla patch. L'inclusione di informazioni sui problemi oggetto dalla patch (messaggi del kernel, messaggi di oops, eccetera) è particolarmente utile per le persone che potrebbero cercare fra i messaggi di log per la patch che li tratta. Il testo dovrebbe essere scritto con abbastanza dettagli da far capire al lettore **perché** quella patch fu creata, e questo a distanza di settimane, mesi, o addirittura anni.h](hXIl corpo della spiegazione verrà incluso nel changelog permanente, per cui deve aver senso per un lettore esperto che è ha dimenticato i dettagli della discussione che hanno portato alla patch. L’inclusione di informazioni sui problemi oggetto dalla patch (messaggi del kernel, messaggi di oops, eccetera) è particolarmente utile per le persone che potrebbero cercare fra i messaggi di log per la patch che li tratta. Il testo dovrebbe essere scritto con abbastanza dettagli da far capire al lettore }(hjQhhhNhNubjt)}(h **perché**h]hperché}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jshjQubhT quella patch fu creata, e questo a distanza di settimane, mesi, o addirittura anni.}(hjQhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hX+Se la patch corregge un errore di compilazione, non sarà necessario includere proprio _tutto_ quello che è uscito dal compilatore; aggiungete solo quello che è necessario per far si che la vostra patch venga trovata. Come nella ``summary phrase``, è importante essere sia brevi che descrittivi.h](hSe la patch corregge un errore di compilazione, non sarà necessario includere proprio _tutto_ quello che è uscito dal compilatore; aggiungete solo quello che è necessario per far si che la vostra patch venga trovata. Come nella }(hjqhhhNhNubj)}(h``summary phrase``h]hsummary phrase}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubh1, è importante essere sia brevi che descrittivi.}(hjqhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hgLa linea di demarcazione ``---`` serve essenzialmente a segnare dove finisce il messaggio di changelog.h](hLa linea di demarcazione }(hjhhhNhNubj)}(h``---``h]h---}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhG serve essenzialmente a segnare dove finisce il messaggio di changelog.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hXAggiungere il ``diffstat`` dopo ``---`` è un buon uso di questo spazio, per mostrare i file che sono cambiati, e il numero di file aggiunto o rimossi. Un ``diffstat`` è particolarmente utile per le patch grandi. Se includete un ``diffstat`` dopo ``---``, usate le opzioni ``-p 1 -w70`` cosicché i nomi dei file elencati non occupino troppo spazio (facilmente rientreranno negli 80 caratteri, magari con qualche indentazione). (``git`` genera di base dei diffstat adatti).h](hAggiungere il }(hjhhhNhNubj)}(h ``diffstat``h]hdiffstat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh dopo }(hjhhhNhNubj)}(h``---``h]h---}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubht è un buon uso di questo spazio, per mostrare i file che sono cambiati, e il numero di file aggiunto o rimossi. Un }(hjhhhNhNubj)}(h ``diffstat``h]hdiffstat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh? è particolarmente utile per le patch grandi. Se includete un }(hjhhhNhNubj)}(h ``diffstat``h]hdiffstat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh dopo }hjsbj)}(h``---``h]h---}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, usate le opzioni }(hjhhhNhNubj)}(h ``-p 1 -w70``h]h -p 1 -w70}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh cosicché i nomi dei file elencati non occupino troppo spazio (facilmente rientreranno negli 80 caratteri, magari con qualche indentazione). (}(hjhhhNhNubj)}(h``git``h]hgit}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh% genera di base dei diffstat adatti).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hXI commenti che sono importanti solo per i manutentori, quindi inadatti al changelog permanente, dovrebbero essere messi qui. Un buon esempio per questo tipo di commenti potrebbe essere il cosiddetto ``patch changelogs`` che descrivere le differenze fra le versioni della patch.h](hI commenti che sono importanti solo per i manutentori, quindi inadatti al changelog permanente, dovrebbero essere messi qui. Un buon esempio per questo tipo di commenti potrebbe essere il cosiddetto }(hj=hhhNhNubj)}(h``patch changelogs``h]hpatch changelogs}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubh: che descrivere le differenze fra le versioni della patch.}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubh)}(hXQueste informazioni devono andare **dopo** la linea ``---`` che separa il *changelog* dal resto della patch. Le informazioni riguardanti la versione di una patch non sono parte del *chagelog* che viene incluso in git. Queste sono informazioni utili solo ai revisori. Se venissero messe sopra la riga, qualcuno dovrà fare del lavoro manuale per rimuoverle; cosa che invece viene fatta automaticamente quando vengono messe correttamente oltre la riga.::h](h"Queste informazioni devono andare }(hj]hhhNhNubjt)}(h**dopo**h]hdopo}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jshj]ubh la linea }(hj]hhhNhNubj)}(h``---``h]h---}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubh che separa il }(hj]hhhNhNubj)}(h *changelog*h]h changelog}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubh` dal resto della patch. Le informazioni riguardanti la versione di una patch non sono parte del }(hj]hhhNhNubj)}(h *chagelog*h]hchagelog}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubhX che viene incluso in git. Queste sono informazioni utili solo ai revisori. Se venissero messe sopra la riga, qualcuno dovrà fare del lavoro manuale per rimuoverle; cosa che invece viene fatta automaticamente quando vengono messe correttamente oltre la riga.:}(hj]hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj hhubjZ)}(h ... Signed-off-by: Author --- V2 -> V3: Removed redundant helper function V1 -> V2: Cleaned up coding style and addressed review comments path/to/file | 5+++-- ...h]h ... Signed-off-by: Author --- V2 -> V3: Removed redundant helper function V1 -> V2: Cleaned up coding style and addressed review comments path/to/file | 5+++-- ...}hjsbah}(h]h ]h"]h$]h&]jijjuh1jYhjhMhj hhubh)}(hIMaggiori dettagli sul formato delle patch nei riferimenti qui di seguito.h]hIMaggiori dettagli sul formato delle patch nei riferimenti qui di seguito.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj hhubj)}(h.. _it_backtraces:h]h}(h]h ]h"]h$]h&]j it-backtracesuh1jhM%hj hhhjubj)}(hhh](j)}(h/Aggiungere i *backtrace* nei messaggi di commith](h Aggiungere i }(hjhhhNhNubj)}(h *backtrace*h]h backtrace}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh nei messaggi di commit}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjhhhjhMubh)}(hXI *backtrace* aiutano a documentare la sequenza di chiamate a funzione che portano ad un problema. Tuttavia, non tutti i *backtrace* sono davvero utili. Per esempio, le sequenze iniziali di avvio sono uniche e ovvie. Copiare integralmente l'output di ``dmesg`` aggiunge tante informazioni che distraggono dal vero problema (per esempio, i marcatori temporali, la lista dei moduli, la lista dei registri, lo stato dello stack).h](hI }(hjhhhNhNubj)}(h *backtrace*h]h backtrace}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhl aiutano a documentare la sequenza di chiamate a funzione che portano ad un problema. Tuttavia, non tutti i }(hjhhhNhNubj)}(h *backtrace*h]h backtrace}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhy sono davvero utili. Per esempio, le sequenze iniziali di avvio sono uniche e ovvie. Copiare integralmente l’output di }(hjhhhNhNubj)}(h ``dmesg``h]hdmesg}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh aggiunge tante informazioni che distraggono dal vero problema (per esempio, i marcatori temporali, la lista dei moduli, la lista dei registri, lo stato dello stack).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM hjhhubh)}(hQuindi, per rendere utile un *backtrace* dovreste eliminare le informazioni inutili, cosicché ci si possa focalizzare sul problema. Ecco un esempio di un *backtrace* essenziale::h](hQuindi, per rendere utile un }(hjAhhhNhNubj)}(h *backtrace*h]h backtrace}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubhs dovreste eliminare le informazioni inutili, cosicché ci si possa focalizzare sul problema. Ecco un esempio di un }(hjAhhhNhNubj)}(h *backtrace*h]h backtrace}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubh essenziale:}(hjAhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM(hjhhubjZ)}(hunchecked MSR access error: WRMSR to 0xd51 (tried to write 0x0000000000000064) at rIP: 0xffffffffae059994 (native_write_msr+0x4/0x20) Call Trace: mba_wrmsr update_domains rdtgroup_mkdirh]hunchecked MSR access error: WRMSR to 0xd51 (tried to write 0x0000000000000064) at rIP: 0xffffffffae059994 (native_write_msr+0x4/0x20) Call Trace: mba_wrmsr update_domains rdtgroup_mkdir}hjssbah}(h]h ]h"]h$]h&]jijjuh1jYhjhM,hjhhubj)}(h.. _it_explicit_in_reply_to:h]h}(h]h ]h"]h$]h&]jit-explicit-in-reply-touh1jhM=hjhhhjubeh}(h](-aggiungere-i-backtrace-nei-messaggi-di-commitjeh ]h"](-aggiungere i backtrace nei messaggi di commit it_backtraceseh$]h&]uh1jhj hhhjhMj }jjsj }jjsubeh}(h](il-formato-canonico-delle-patchj eh ]h"](il formato canonico delle patchit_the_canonical_patch_formateh$]h&]uh1jhjhhhjhMj }jj sj }j j subj)}(hhh](j)}(h2Usare esplicitamente In-Reply-To nell'intestazioneh]h4Usare esplicitamente In-Reply-To nell’intestazione}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM6ubh)}(hXAggiungere manualmente In-Reply-To: nell'intestazione dell'e-mail potrebbe essere d'aiuto per associare una patch ad una discussione precedente, per esempio per collegare la correzione di un baco con l'e-mail che lo riportava. Tuttavia, per serie di patch multiple è generalmente sconsigliato l'uso di In-Reply-To: per collegare precedenti versioni. In questo modo versioni multiple di una patch non diventeranno un'ingestibile giungla di riferimenti all'interno dei programmi di posta. Se un collegamento è utile, potete usare https://lore.kernel.org/ per ottenere i collegamenti ad una versione precedente di una serie di patch (per esempio, potete usarlo per l'email introduttiva alla serie).h](hX"Aggiungere manualmente In-Reply-To: nell’intestazione dell’e-mail potrebbe essere d’aiuto per associare una patch ad una discussione precedente, per esempio per collegare la correzione di un baco con l’e-mail che lo riportava. Tuttavia, per serie di patch multiple è generalmente sconsigliato l’uso di In-Reply-To: per collegare precedenti versioni. In questo modo versioni multiple di una patch non diventeranno un’ingestibile giungla di riferimenti all’interno dei programmi di posta. Se un collegamento è utile, potete usare }(hjhhhNhNubjZ)}(hhttps://lore.kernel.org/h]hhttps://lore.kernel.org/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jYhjubh per ottenere i collegamenti ad una versione precedente di una serie di patch (per esempio, potete usarlo per l’email introduttiva alla serie).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM8hjhhubeh}(h](2usare-esplicitamente-in-reply-to-nell-intestazionejeh ]h"](2usare esplicitamente in-reply-to nell'intestazioneit_explicit_in_reply_toeh$]h&]uh1jhjhhhjhM6j }jjsj }jjsubj)}(hhh](j)}(h%Fornire informazioni circa i sorgentih]h%Fornire informazioni circa i sorgenti}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMDubh)}(hXgQuando gli altri sviluppatori ricevono le vostre patch e iniziano il processo di revisione, è assolutamente necessario che sappiano qual è il commit/ramo di base su cui si base il vostro lavoro: considerate l'enorme quantità di sorgenti dei manutentori presenti al giorno d'oggi. Si noti ancora una volta la voce **T:** nel file MAINTAINERS spiegato sopra.h](hX@Quando gli altri sviluppatori ricevono le vostre patch e iniziano il processo di revisione, è assolutamente necessario che sappiano qual è il commit/ramo di base su cui si base il vostro lavoro: considerate l’enorme quantità di sorgenti dei manutentori presenti al giorno d’oggi. Si noti ancora una volta la voce }(hjhhhNhNubjt)}(h**T:**h]hT:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jshjubh% nel file MAINTAINERS spiegato sopra.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMFhjhhubh)}(hQuesto è ancora più importante per i processi automatizzati di CI che tentano di eseguire una serie di test per stabilire la qualità del codice prima che il manutentore inizi la revisione.h]hQuesto è ancora più importante per i processi automatizzati di CI che tentano di eseguire una serie di test per stabilire la qualità del codice prima che il manutentore inizi la revisione.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMLhjhhubh)}(hSe si usa ``git format-patch`` per generare le patch, si possono includere automaticamente le informazioni sull'albero di base nell'invio usando il flag ``--base``. Il modo più semplice e comodo di usare questa opzione è con i rami topici::h](h Se si usa }(hjhhhNhNubj)}(h``git format-patch``h]hgit format-patch}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh per generare le patch, si possono includere automaticamente le informazioni sull’albero di base nell’invio usando il flag }(hjhhhNhNubj)}(h ``--base``h]h--base}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhN. Il modo più semplice e comodo di usare questa opzione è con i rami topici:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMPhjhhubjZ)}(hXP$ git checkout -t -b my-topical-branch master Branch 'my-topical-branch' set up to track local branch 'master'. Switched to a new branch 'my-topical-branch' [perform your edits and commits] $ git format-patch --base=auto --cover-letter -o outgoing/ master outgoing/0000-cover-letter.patch outgoing/0001-First-Commit.patch outgoing/...h]hXP$ git checkout -t -b my-topical-branch master Branch 'my-topical-branch' set up to track local branch 'master'. Switched to a new branch 'my-topical-branch' [perform your edits and commits] $ git format-patch --base=auto --cover-letter -o outgoing/ master outgoing/0000-cover-letter.patch outgoing/0001-First-Commit.patch outgoing/...}hjPsbah}(h]h ]h"]h$]h&]jijjuh1jYhjhMUhjhhubh)}(hAprendo ``outgoing/0000-cover-letter.patch`` per la modifica, si noterà che ha ``base-commit:`` in fondo, questo fornisce al revisore e agli strumenti CI informazioni sufficienti per eseguire correttamente ``git am`` senza preoccuparsi dei conflitti::h](hAprendo }(hj^hhhNhNubj)}(h$``outgoing/0000-cover-letter.patch``h]h outgoing/0000-cover-letter.patch}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubh$ per la modifica, si noterà che ha }(hj^hhhNhNubj)}(h``base-commit:``h]h base-commit:}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubho in fondo, questo fornisce al revisore e agli strumenti CI informazioni sufficienti per eseguire correttamente }(hj^hhhNhNubj)}(h ``git am``h]hgit am}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubh" senza preoccuparsi dei conflitti:}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM`hjhhubjZ)}(h$ git checkout -b patch-review [base-commit-id] Switched to a new branch 'patch-review' $ git am patches.mbox Applying: First Commit Applying: ...h]h$ git checkout -b patch-review [base-commit-id] Switched to a new branch 'patch-review' $ git am patches.mbox Applying: First Commit Applying: ...}hjsbah}(h]h ]h"]h$]h&]jijjuh1jYhjhMehjhhubh)}(hSConsultate ``man git-format-patch`` per maggiori informazioni circa questa opzione.h](h Consultate }(hjhhhNhNubj)}(h``man git-format-patch``h]hman git-format-patch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh0 per maggiori informazioni circa questa opzione.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMkhjhhubhnote)}(h9L'opzione ``--base`` fu introdotta con git versione 2.9.0h]h)}(hjh](h L’opzione }(hjhhhNhNubj)}(h ``--base``h]h--base}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh% fu introdotta con git versione 2.9.0}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMphjubah}(h]h ]h"]h$]h&]uh1jhjhhhjhNubh)}(hXqSe non si usa git per produrre le patch, si può comunque includere ``base-commit`` per indicare l'hash del commit dei sorgenti su cui si basa il lavoro. Dovreste aggiungerlo nella lettera di accompagnamento o nella prima patch della serie e dovrebbe essere collocato sotto la riga ``---`` o in fondo a tutti gli altri contenuti, subito prima della vostra firma e-mail.h](hDSe non si usa git per produrre le patch, si può comunque includere }(hjhhhNhNubj)}(h``base-commit``h]h base-commit}(hjhhhNhNubah}(h]h ]h"]h$:]h&]uh1jhjubh per indicare l’hash del commit dei sorgenti su cui si basa il lavoro. Dovreste aggiungerlo nella lettera di accompagnamento o nella prima patch della serie e dovrebbe essere collocato sotto la riga }(hjhhhNhNubj)}(h``---``h]h---}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhP o in fondo a tutti gli altri contenuti, subito prima della vostra firma e-mail.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMrhjhhubh)}(hAssicuratevi che il commit si basi su sorgenti ufficiali del manutentore/mainline e non su sorgenti interni, accessibile solo a voi, altrimenti sarebbe inutile.h]hAssicuratevi che il commit si basi su sorgenti ufficiali del manutentore/mainline e non su sorgenti interni, accessibile solo a voi, altrimenti sarebbe inutile.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMxhjhhubeh}(h]%fornire-informazioni-circa-i-sorgentiah ]h"]%fornire informazioni circa i sorgentiah$]h&]uh1jhjhhhjhMDubj)}(hhh](j)}(h Strumentih]h Strumenti}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjChhhjhM}ubh)}(hX*Molti degli aspetti più tecnici di questo processo possono essere automatizzati usando b4, la cui documentazione è disponibile all'indirizzo . Può aiutare a tracciare la dipendenze, eseguire checkpatch e con la formattazione e l'invio di messaggi di posta.h](hMolti degli aspetti più tecnici di questo processo possono essere automatizzati usando b4, la cui documentazione è disponibile all’indirizzo <}(hjThhhNhNubjZ)}(h%https://b4.docs.kernel.org/en/latest/h]h%https://b4.docs.kernel.org/en/latest/}(hj\hhhNhNubah}(h]h ]h"]h$]h&]refurij^uh1jYhjTubhw>. Può aiutare a tracciare la dipendenze, eseguire checkpatch e con la formattazione e l’invio di messaggi di posta.}(hjThhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjChhubeh}(h] strumentiah ]h"] strumentiah$]h&]uh1jhjhhhjhM}ubj)}(hhh](j)}(h Riferimentih]h Riferimenti}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}hhhjhMubj)}(hhh](j)}(hWAndrew Morton, "La patch perfetta" (tpp). h](j )}(h)Andrew Morton, "La patch perfetta" (tpp).h]h-Andrew Morton, “La patch perfetta” (tpp).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMhjubj)}(hhh]h)}(h,h](h<}(hjhhhNhNubjZ)}(h*https://www.ozlabs.org/~akpm/stuff/tpp.txth]h*https://www.ozlabs.org/~akpm/stuff/tpp.txt}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jYhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hJeff Garzik, "Formato per la sottomissione di patch per il kernel Linux" h](j )}(hHJeff Garzik, "Formato per la sottomissione di patch per il kernel Linux"h]hLJeff Garzik, “Formato per la sottomissione di patch per il kernel Linux”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMhjubj)}(hhh]h)}(hRh](h<}(hjhhhNhNubjZ)}(hPhttps://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.htmlh]hPhttps://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jYhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjhhubj)}(hXGreg Kroah-Hartman, "Come scocciare un manutentore di un sottosistema" h](j )}(hFGreg Kroah-Hartman, "Come scocciare un manutentore di un sottosistema"h]hJGreg Kroah-Hartman, “Come scocciare un manutentore di un sottosistema”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMhjubj)}(hhh](h)}(h0h](h<}(hj*hhhNhNubjZ)}(h.http://www.kroah.com/log/linux/maintainer.htmlh]h.http://www.kroah.com/log/linux/maintainer.html}(hj2hhhNhNubah}(h]h ]h"]h$]h&]refurij4uh1jYhj*ubh>}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj'ubh)}(h3h](h<}(hjKhhhNhNubjZ)}(h1http://www.kroah.com/log/linux/maintainer-02.htmlh]h1http://www.kroah.com/log/linux/maintainer-02.html}(hjShhhNhNubah}(h]h ]h"]h$]h&]refurijUuh1jYhjKubh>}(hjKhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj'ubh)}(h3h](h<}(hjlhhhNhNubjZ)}(h1http://www.kroah.com/log/linux/maintainer-03.htmlh]h1http://www.kroah.com/log/linux/maintainer-03.html}(hjthhhNhNubah}(h]h ]h"]h$]h&]refurijvuh1jYhjlubh>}(hjlhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj'ubh)}(h3h](h<}(hjhhhNhNubjZ)}(h1http://www.kroah.com/log/linux/maintainer-04.htmlh]h1http://www.kroah.com/log/linux/maintainer-04.html}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jYhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj'ubh)}(h3h](h<}(hjhhhNhNubjZ)}(h1http://www.kroah.com/log/linux/maintainer-05.htmlh]h1http://www.kroah.com/log/linux/maintainer-05.html}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jYhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj'ubh)}(h3h](h<}(hjhhhNhNubjZ)}(h1http://www.kroah.com/log/linux/maintainer-06.htmlh]h1http://www.kroah.com/log/linux/maintainer-06.html}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jYhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj'ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjhhubeh}(h]h ]h"]h$]h&]uh1jhj}hhhjhNubh)}(hAKernel Documentation/translations/it_IT/process/coding-style.rst.h]hAKernel Documentation/translations/it_IT/process/coding-style.rst.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj}hhubj)}(hhh](j)}(hE-mail di Linus Torvalds sul formato canonico di una patch: h](j )}(h;E-mail di Linus Torvalds sul formato canonico di una patch:h]h;E-mail di Linus Torvalds sul formato canonico di una patch:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMhjubj)}(hhh]h)}(hMh](h<}(hj(hhhNhNubjZ)}(hKhttps://lore.kernel.org/r/Pine.LNX.4.58.0504071023190.28951@ppc970.osdl.orgh]hKhttps://lore.kernel.org/r/Pine.LNX.4.58.0504071023190.28951@ppc970.osdl.org}(hj0hhhNhNubah}(h]h ]h"]h$]h&]refurij2uh1jYhj(ubh>}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj%ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hAndi Kleen, "Su come sottomettere patch del kernel" Alcune strategie su come sottomettere modifiche toste o controverse. http://halobates.de/on-submitting-patches.pdfh](j )}(h3Andi Kleen, "Su come sottomettere patch del kernel"h]h7Andi Kleen, “Su come sottomettere patch del kernel”}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMhjUubj)}(hhh](h)}(hDAlcune strategie su come sottomettere modifiche toste o controverse.h]hDAlcune strategie su come sottomettere modifiche toste o controverse.}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjgubh)}(h-http://halobates.de/on-submitting-patches.pdfh]jZ)}(hjzh]h-http://halobates.de/on-submitting-patches.pdf}(hj|hhhNhNubah}(h]h ]h"]h$]h&]refurijzuh1jYhjxubah}(h]h ]h"]h$]h&]uh1hhjhMhjgubeh}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjhMhjhhubeh}(h]h ]h"]h$]h&]uh1jhj}hhhjhNubeh}(h] riferimentiah ]h"] riferimentiah$]h&]uh1jhjhhhjhMubeh}(h](Hinviare-patch-la-guida-essenziale-per-vedere-il-vostro-codice-nel-kerneljeh ]h"](Iinviare patch: la guida essenziale per vedere il vostro codice nel kernelit_submittingpatcheseh$]h&]uh1jhhhhhjhK j }jjsj }jjsubeh}(h]h ]h"]h$]h&]sourcejuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcej _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}(j]jaj]jaj]jaj ]j aj ]j aj ]j aj]jaj]jaunameids}(jjjjjjjjjjjjjjjjjjjjj j j j j j j j j j jJ jG j j j j jr jo j j j j jj jjjjjjjjjjj@j=jzjwjju nametypes}(jjjjjjjjjjj j j j j jJ j j jr j j jjjjjjj@jzjuh}(jjjjjj(jjjjjjjjjjjjjjj jj j j j j j j j jG j j jM j jz jo j j ju j j j j jj jjjjjjjjj=jjwjCjj}u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages](hsystem_message)}(hhh]h)}(hhh]h:Hyperlink target "it-submittingpatches" is not referenced.}hjIsbah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcejlineKuh1jDubjE)}(hhh]h)}(hhh]h9Hyperlink target "it-describe-changes" is not referenced.}hjdsbah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]levelKtypej^sourcejlineK;uh1jDubjE)}(hhh]h)}(hhh]h6Hyperlink target "it-split-changes" is not referenced.}hj~sbah}(h]h ]h"]h$]h&]uh1hhj{ubah}(h]h ]h"]h$]h&]levelKtypej^sourcejlineKuh1jDubjE)}(hhh]h)}(hhh]h