€•~Œ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/submitting-patches”Œ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/submitting-patches”Œ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/submitting-patches”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/it_IT/process/submitting-patches”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ja_JP/process/submitting-patches”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ko_KR/process/submitting-patches”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/pt_BR/process/submitting-patches”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒSpanish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒwarning”“”)”}”(hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la Ćŗnica referencia vĆ”lida es la documentación oficial en inglĆ©s. AdemĆ”s, por defecto, los enlaces a documentos redirigen a la documentación en inglĆ©s, incluso si existe una versión traducida. Consulte el Ć­ndice para mĆ”s información.”h]”hŒ paragraph”“”)”}”(hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la Ćŗnica referencia vĆ”lida es la documentación oficial en inglĆ©s. AdemĆ”s, por defecto, los enlaces a documentos redirigen a la documentación en inglĆ©s, incluso si existe una versión traducida. Consulte el Ć­ndice para mĆ”s información.”h]”hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la Ćŗnica referencia vĆ”lida es la documentación oficial en inglĆ©s. AdemĆ”s, por defecto, los enlaces a documentos redirigen a la documentación en inglĆ©s, incluso si existe una versión traducida. Consulte el Ć­ndice para mĆ”s información.”…””}”(hh½h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³Œ2Documentation/translations/sp_SP/disclaimer-sp.rst”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³Œ[/var/lib/git/docbuild/linux/Documentation/translations/sp_SP/process/submitting-patches.rst”h“KubhŒ field_body”“”)”}”(hŒG:ref:`Documentation/process/submitting-patches.rst `”h]”h¼)”}”(hhńh]”h)”}”(hhńh]”hŒinline”“”)”}”(hhńh]”hŒ,Documentation/process/submitting-patches.rst”…””}”(hhūh²hh³Nh“Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1hłhhöubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ-translations/sp_SP/process/submitting-patches”Œ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œsubmittingpatches”uh1hh³hģh“Khhóubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Khhļubah}”(h]”h ]”h"]”h$]”h&]”uh1hķhhŁubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×h³hģh“KhhŌh²hubhŲ)”}”(hhh]”(hŻ)”}”(hŒ Translator”h]”hŒ Translator”…””}”(hj/h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj,h³hģh“Kubhī)”}”(hŒ.Carlos Bilbao ”h]”h¼)”}”(hŒ-Carlos Bilbao ”h]”(hŒCarlos Bilbao <”…””}”(hjAh²hh³Nh“NubhŒ reference”“”)”}”(hŒcarlos.bilbao.osdev@gmail.com”h]”hŒcarlos.bilbao.osdev@gmail.com”…””}”(hjKh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ$mailto:carlos.bilbao.osdev@gmail.com”uh1jIhjAubhŒ>”…””}”(hjAh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Khj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1hķhj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×h³hģh“KhhŌh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1hŅhhh²hh³hģh“KubhŒtarget”“”)”}”(hŒ.. _sp_submittingpatches:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œsp-submittingpatches”uh1jwh“Khhh²hh³hģubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒIEnvĆ­o de parches: la guĆ­a esencial para incluir su código en el kernel”h]”hŒIEnvĆ­o de parches: la guĆ­a esencial para incluir su código en el kernel”…””}”(hjŒh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj‡h²hh³hģh“K ubh¼)”}”(hX)Para una persona o empresa que desee enviar un cambio al kernel Linux, el proceso puede en ocasiones resultar desalentador si no se estĆ” familiarizado con "el sistema". Este texto es una colección de sugerencias que pueden aumentar considerablemente las posibilidades de que se acepte su cambio.”h]”hX-Para una persona o empresa que desee enviar un cambio al kernel Linux, el proceso puede en ocasiones resultar desalentador si no se estĆ” familiarizado con ā€œel sistemaā€. Este texto es una colección de sugerencias que pueden aumentar considerablemente las posibilidades de que se acepte su cambio.”…””}”(hjšh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K hj‡h²hubh¼)”}”(hXģEste documento contiene una gran cantidad de sugerencias en un formato relativamente conciso. Para obtener información detallada sobre cómo funciona el proceso de desarrollo del kernel, consulte Documentation/process/development-process.rst. AdemĆ”s, lea Documentation/process/submit-checklist.rst para obtener una lista de elementos a verificar antes de enviar código. Para los parches de "binding" del Ć”rbol de dispositivos, lea Documentation/devicetree/bindings/submitting-patches.rst.”h]”hXšEste documento contiene una gran cantidad de sugerencias en un formato relativamente conciso. Para obtener información detallada sobre cómo funciona el proceso de desarrollo del kernel, consulte Documentation/process/development-process.rst. AdemĆ”s, lea Documentation/process/submit-checklist.rst para obtener una lista de elementos a verificar antes de enviar código. Para los parches de ā€œbindingā€ del Ć”rbol de dispositivos, lea Documentation/devicetree/bindings/submitting-patches.rst.”…””}”(hjØh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Khj‡h²hubh¼)”}”(hŒėEsta documentación asume que estĆ” usando ``git`` para preparar sus parches. Si no estĆ” familiarizado con ``git``, le recomendamos que aprenda a usarlo, le harĆ” la vida como desarrollador del kernel y en general mucho mĆ”s sencilla.”h]”(hŒ+Esta documentación asume que estĆ” usando ”…””}”(hj¶h²hh³Nh“NubhŒliteral”“”)”}”(hŒ``git``”h]”hŒgit”…””}”(hjĄh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¶ubhŒ: para preparar sus parches. Si no estĆ” familiarizado con ”…””}”(hj¶h²hh³Nh“Nubjæ)”}”(hŒ``git``”h]”hŒgit”…””}”(hjŅh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¶ubhŒx, le recomendamos que aprenda a usarlo, le harĆ” la vida como desarrollador del kernel y en general mucho mĆ”s sencilla.”…””}”(hj¶h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Khj‡h²hubh¼)”}”(hŒµAlgunos subsistemas y Ć”rboles de mantenimiento cuentan con información adicional sobre su flujo de trabajo y expectativas, consulte Documentation/process/maintainer-handbooks.rst.”h]”hŒµAlgunos subsistemas y Ć”rboles de mantenimiento cuentan con información adicional sobre su flujo de trabajo y expectativas, consulte Documentation/process/maintainer-handbooks.rst.”…””}”(hjźh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Khj‡h²hubj†)”}”(hhh]”(j‹)”}”(hŒ Obtenga el código fuente actual”h]”hŒ Obtenga el código fuente actual”…””}”(hjūh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjųh²hh³hģh“K$ubh¼)”}”(hŒ“Si no tiene a mano un repositorio con el código fuente actual del kernel, use ``git`` para obtener uno. QuerrĆ” comenzar con el repositorio principal, que se puede descargar con::”h]”(hŒOSi no tiene a mano un repositorio con el código fuente actual del kernel, use ”…””}”(hj h²hh³Nh“Nubjæ)”}”(hŒ``git``”h]”hŒgit”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj ubhŒ] para obtener uno. QuerrĆ” comenzar con el repositorio principal, que se puede descargar con:”…””}”(hj h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K&hjųh²hubhŒ literal_block”“”)”}”(hŒJgit clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git”h]”hŒJgit clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git”…””}”hj+sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j)h³hģh“K*hjųh²hubh¼)”}”(hX„Tenga en cuenta, sin embargo, que es posible que no desee desarrollar con el Ć”rbol principal directamente. La mayorĆ­a de los maintainers de subsistemas usan sus propios Ć”rboles de código fuente y quieren ver parches preparados para esos Ć”rboles. Revise el campo **T:** para el subsistema en el archivo MAINTAINERS para encontrar dicho Ć”rbol, o simplemente pregunte al maintainer si el Ć”rbol no estĆ” listado allĆ­.”h]”(hX Tenga en cuenta, sin embargo, que es posible que no desee desarrollar con el Ć”rbol principal directamente. La mayorĆ­a de los maintainers de subsistemas usan sus propios Ć”rboles de código fuente y quieren ver parches preparados para esos Ć”rboles. Revise el campo ”…””}”(hj;h²hh³Nh“NubhŒstrong”“”)”}”(hŒ**T:**”h]”hŒT:”…””}”(hjEh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jChj;ubhŒ” para el subsistema en el archivo MAINTAINERS para encontrar dicho Ć”rbol, o simplemente pregunte al maintainer si el Ć”rbol no estĆ” listado allĆ­.”…””}”(hj;h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K,hjųh²hubjx)”}”(hŒ.. _sp_describe_changes:”h]”h}”(h]”h ]”h"]”h$]”h&]”jƒŒsp-describe-changes”uh1jwh“K@hjųh²hh³hģubeh}”(h]”Œobtenga-el-codigo-fuente-actual”ah ]”h"]”Œ obtenga el código fuente actual”ah$]”h&]”uh1j…hj‡h²hh³hģh“K$ubj†)”}”(hhh]”(j‹)”}”(hŒDescriba sus cambios”h]”hŒDescriba sus cambios”…””}”(hjsh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjph²hh³hģh“K6ubh¼)”}”(hXDDescriba su problema. Sea su parche una corrección de un error de una lĆ­nea o 5000 lĆ­neas para una nuevo "feature", debe haber un problema subyacente que le motivó a hacer ese trabajo. Convenza al revisor de que hay un problema que merece la pena solucionar y de que tiene sentido que lea mĆ”s allĆ” del primer pĆ”rrafo.”h]”hXHDescriba su problema. Sea su parche una corrección de un error de una lĆ­nea o 5000 lĆ­neas para una nuevo ā€œfeatureā€, debe haber un problema subyacente que le motivó a hacer ese trabajo. Convenza al revisor de que hay un problema que merece la pena solucionar y de que tiene sentido que lea mĆ”s allĆ” del primer pĆ”rrafo.”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K8hjph²hubh¼)”}”(hXņDescriba el impacto relativo al usuario. Cosas que estropeen el kernel y los bloqueos son bastante convincentes, pero no todos los errores son tan evidentes. Incluso si se detectó un problema durante la revisión del código, describa el impacto que cree pueda tener en los usuarios. Tenga en cuenta que la mayorĆ­a de instalaciones de Linux ejecutan kernels desde Ć”rboles estables secundarios o Ć”rboles especĆ­ficos de proveedor/producto que seleccionan ("cherry-pick") solo parches especĆ­ficos de upstream, asĆ­ que incluya cualquier cosa que pueda ayudar a dirigir su cambio aguas abajo: circunstancias que producen cierta situación, extractos de dmesg, descripciones del error fatal, regresiones de rendimiento, picos de latencia, bloqueos, etc.”h]”hXöDescriba el impacto relativo al usuario. Cosas que estropeen el kernel y los bloqueos son bastante convincentes, pero no todos los errores son tan evidentes. Incluso si se detectó un problema durante la revisión del código, describa el impacto que cree pueda tener en los usuarios. Tenga en cuenta que la mayorĆ­a de instalaciones de Linux ejecutan kernels desde Ć”rboles estables secundarios o Ć”rboles especĆ­ficos de proveedor/producto que seleccionan (ā€œcherry-pickā€) solo parches especĆ­ficos de upstream, asĆ­ que incluya cualquier cosa que pueda ayudar a dirigir su cambio aguas abajo: circunstancias que producen cierta situación, extractos de dmesg, descripciones del error fatal, regresiones de rendimiento, picos de latencia, bloqueos, etc.”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K>hjph²hubh¼)”}”(hXCuantifique optimizaciones y beneficios/perdidas. Si asegura mejoras en rendimiento, consumo de memoria, huella del stack o tamaƱo de binario, incluya nĆŗmeros que lo respalden. Pero tambiĆ©n describa costes no obvios. Las optimizaciones generalmente no son gratuitas, sino un equilibrio entre CPU, memoria y legibilidad; o, cuando se trata de heurĆ­sticas, entre diferentes cargas de trabajo. Describa las desventajas esperadas de su optimización para que el revisor pueda comparar las perdidas con los beneficios.”h]”hXCuantifique optimizaciones y beneficios/perdidas. Si asegura mejoras en rendimiento, consumo de memoria, huella del stack o tamaƱo de binario, incluya nĆŗmeros que lo respalden. Pero tambiĆ©n describa costes no obvios. Las optimizaciones generalmente no son gratuitas, sino un equilibrio entre CPU, memoria y legibilidad; o, cuando se trata de heurĆ­sticas, entre diferentes cargas de trabajo. Describa las desventajas esperadas de su optimización para que el revisor pueda comparar las perdidas con los beneficios.”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KJhjph²hubh¼)”}”(hŒ÷Una vez establecido el problema, describa lo que realmente estĆ” haciendo al respecto en detalles tĆ©cnicos. Es importante describir el cambio en lenguaje sencillo para que el revisor verifique que el código se estĆ” comportando como se pretende.”h]”hŒ÷Una vez establecido el problema, describa lo que realmente estĆ” haciendo al respecto en detalles tĆ©cnicos. Es importante describir el cambio en lenguaje sencillo para que el revisor verifique que el código se estĆ” comportando como se pretende.”…””}”(hj«h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KShjph²hubh¼)”}”(hXEl maintainer le agradecerĆ” que escriba la descripción de su parche en un formato que se pueda incorporar fĆ”cilmente en la gestión del código fuente del sistema, ``git``, como un "commit log" (registros de los commits). Consulte :ref:`sp_the_canonical_patch_format`.”h]”(hŒ§El maintainer le agradecerĆ” que escriba la descripción de su parche en un formato que se pueda incorporar fĆ”cilmente en la gestión del código fuente del sistema, ”…””}”(hj¹h²hh³Nh“Nubjæ)”}”(hŒ``git``”h]”hŒgit”…””}”(hjĮh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¹ubhŒ@, como un ā€œcommit logā€ (registros de los commits). Consulte ”…””}”(hj¹h²hh³Nh“Nubh)”}”(hŒ$:ref:`sp_the_canonical_patch_format`”h]”hś)”}”(hjÕh]”hŒsp_the_canonical_patch_format”…””}”(hj×h²hh³Nh“Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hłhjÓubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jįŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒsp_the_canonical_patch_format”uh1hh³hģh“KXhj¹ubhŒ.”…””}”(hj¹h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KXhjph²hubh¼)”}”(hŒÆResuelva solo un problema por parche. Si su descripción comienza a ser muy larga, eso es una seƱal de que probablemente necesite dividir su parche. Lea :ref:`split_changes`.”h]”(hŒšResuelva solo un problema por parche. Si su descripción comienza a ser muy larga, eso es una seƱal de que probablemente necesite dividir su parche. Lea ”…””}”(hjżh²hh³Nh“Nubh)”}”(hŒ:ref:`split_changes`”h]”hś)”}”(hjh]”hŒ split_changes”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hłhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒ split_changes”uh1hh³hģh“K]hjżubhŒ.”…””}”(hjżh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K]hjph²hubh¼)”}”(hXXCuando envĆ­e o vuelva a enviar un parche o una serie de parches, incluya la descripción completa del parche y justificación del mismo. No se limite a decir que esa es la versión N del parche (serie). No espere que el maintainer del subsistema referencie versiones de parches anteriores o use referencias URL para encontrar la descripción del parche y colocarla en el parche. Es decir, el parche (serie) y su descripción deben ser independientes. Esto beneficia tanto a los maintainers como a los revisores. Algunos revisores probablemente ni siquiera recibieran versiones anteriores del parche.”h]”hXXCuando envĆ­e o vuelva a enviar un parche o una serie de parches, incluya la descripción completa del parche y justificación del mismo. No se limite a decir que esa es la versión N del parche (serie). No espere que el maintainer del subsistema referencie versiones de parches anteriores o use referencias URL para encontrar la descripción del parche y colocarla en el parche. Es decir, el parche (serie) y su descripción deben ser independientes. Esto beneficia tanto a los maintainers como a los revisores. Algunos revisores probablemente ni siquiera recibieran versiones anteriores del parche.”…””}”(hj/h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Kahjph²hubh¼)”}”(hX Describa sus cambios en la forma imperativa, por ejemplo, "hacer que xyzzy haga frotz" en lugar de "[Este parche] hace que xyzzy haga frotz" o "[Yo] CambiĆ© xyzzy para que haga frotz", como si estuviera dando órdenes al código fuente para cambiar su comportamiento.”h]”hXDescriba sus cambios en la forma imperativa, por ejemplo, ā€œhacer que xyzzy haga frotzā€ en lugar de ā€œ[Este parche] hace que xyzzy haga frotzā€ o ā€œ[Yo] CambiĆ© xyzzy para que haga frotzā€, como si estuviera dando órdenes al código fuente para cambiar su comportamiento.”…””}”(hj=h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Kkhjph²hubh¼)”}”(hŒīSi desea hacer referencia a un commit especĆ­fico, no se limite a hacer referencia al ID SHA-1 del commit. Incluya tambiĆ©n el resumen de una lĆ­nea del commit, para que sea mĆ”s fĆ”cil para los revisores saber de quĆ© se trata. Ejemplo::”h]”hŒķSi desea hacer referencia a un commit especĆ­fico, no se limite a hacer referencia al ID SHA-1 del commit. Incluya tambiĆ©n el resumen de una lĆ­nea del commit, para que sea mĆ”s fĆ”cil para los revisores saber de quĆ© se trata. Ejemplo:”…””}”(hjKh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Kphjph²hubj*)”}”(hŒ®Commit e21d2170f36602ae2708 ("video: quitar platform_set_drvdata() innecesario") eliminó innecesario platform_set_drvdata(), pero dejó la variable "dev" sin usar, bórrese.”h]”hŒ®Commit e21d2170f36602ae2708 ("video: quitar platform_set_drvdata() innecesario") eliminó innecesario platform_set_drvdata(), pero dejó la variable "dev" sin usar, bórrese.”…””}”hjYsbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“Kvhjph²hubh¼)”}”(hX†TambiĆ©n debe asegurarse de utilizar al menos los primeros doce caracteres del identificador SHA-1. El repositorio del kernel contiene muchos *muchos* objetos, por lo que las colisiones con identificaciones mĆ”s cortas son una posibilidad real. Tenga en cuenta que, aunque no hay colisión con su identificación de seis caracteres ahora, esa condición puede cambiar dentro de cinco aƱos.”h]”(hŒŽTambiĆ©n debe asegurarse de utilizar al menos los primeros doce caracteres del identificador SHA-1. El repositorio del kernel contiene muchos ”…””}”(hjgh²hh³Nh“NubhŒemphasis”“”)”}”(hŒ*muchos*”h]”hŒmuchos”…””}”(hjqh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjgubhŒš objetos, por lo que las colisiones con identificaciones mĆ”s cortas son una posibilidad real. Tenga en cuenta que, aunque no hay colisión con su identificación de seis caracteres ahora, esa condición puede cambiar dentro de cinco aƱos.”…””}”(hjgh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Kzhjph²hubh¼)”}”(hXēSi las discusiones relacionadas o cualquier otra información relativa al cambio se pueden encontrar en la web, agregue las etiquetas 'Link:' que apunten a estos. En caso de que su parche corrija un error, por poner un ejemplo, agregue una etiqueta con una URL que haga referencia al informe en los archivos de las listas de correo o un rastreador de errores; si el parche es el resultado de alguna discusión anterior de la lista de correo o algo documentado en la web, referencie esto.”h]”hXėSi las discusiones relacionadas o cualquier otra información relativa al cambio se pueden encontrar en la web, agregue las etiquetas ā€˜Link:’ que apunten a estos. En caso de que su parche corrija un error, por poner un ejemplo, agregue una etiqueta con una URL que haga referencia al informe en los archivos de las listas de correo o un rastreador de errores; si el parche es el resultado de alguna discusión anterior de la lista de correo o algo documentado en la web, referencie esto.”…””}”(hj‰h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Khjph²hubh¼)”}”(hXCuando se vincule a archivos de listas de correo, preferiblemente use el servicio de archivador de mensajes lore.kernel.org. Para crear la URL del enlace, utilice el contenido del encabezado ("header") ``Message-ID`` del mensaje sin los corchetes angulares que lo rodean. Por ejemplo::”h]”(hŒĪCuando se vincule a archivos de listas de correo, preferiblemente use el servicio de archivador de mensajes lore.kernel.org. Para crear la URL del enlace, utilice el contenido del encabezado (ā€œheaderā€) ”…””}”(hj—h²hh³Nh“Nubjæ)”}”(hŒ``Message-ID``”h]”hŒ Message-ID”…””}”(hjŸh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj—ubhŒD del mensaje sin los corchetes angulares que lo rodean. Por ejemplo:”…””}”(hj—h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K‰hjph²hubj*)”}”(hŒHLink: https://lore.kernel.org/30th.anniversary.repost@klaava.Helsinki.FI”h]”hŒHLink: https://lore.kernel.org/30th.anniversary.repost@klaava.Helsinki.FI”…””}”hj·sbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“Khjph²hubh¼)”}”(hŒbVerifique el enlace para asegurarse de que realmente funciona y apunta al mensaje correspondiente.”h]”hŒbVerifique el enlace para asegurarse de que realmente funciona y apunta al mensaje correspondiente.”…””}”(hjÅh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K‘hjph²hubh¼)”}”(hŒšSin embargo, intente que su explicación sea comprensible sin recursos externos. AdemĆ”s de dar una URL a un archivo o error de la lista de correo, resuma los puntos relevantes de la discusión que condujeron al parche tal y como se envió.”h]”hŒšSin embargo, intente que su explicación sea comprensible sin recursos externos. AdemĆ”s de dar una URL a un archivo o error de la lista de correo, resuma los puntos relevantes de la discusión que condujeron al parche tal y como se envió.”…””}”(hjÓh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K”hjph²hubh¼)”}”(hXtSi su parche corrige un error en un commit especĆ­fico, por ejemplo encontró un problema usando ``git bisect``, utilice la etiqueta 'Fixes:' con los primeros 12 caracteres del ID SHA-1 y el resumen de una lĆ­nea. No divida la etiqueta en varias lĆ­neas, las etiquetas estĆ”n exentas de la regla "ajustar a 75 columnas" para simplificar anĆ”lisis de scripts. Por ejemplo::”h]”(hŒaSi su parche corrige un error en un commit especĆ­fico, por ejemplo encontró un problema usando ”…””}”(hjįh²hh³Nh“Nubjæ)”}”(hŒ``git bisect``”h]”hŒ git bisect”…””}”(hjéh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjįubhX , utilice la etiqueta ā€˜Fixes:’ con los primeros 12 caracteres del ID SHA-1 y el resumen de una lĆ­nea. No divida la etiqueta en varias lĆ­neas, las etiquetas estĆ”n exentas de la regla ā€œajustar a 75 columnasā€ para simplificar anĆ”lisis de scripts. Por ejemplo:”…””}”(hjįh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K™hjph²hubj*)”}”(hŒuFixes: 54a4f0239f2e ("KVM: MMU: hacer que kvm_mmu_zap_page() devuelva la cantidad de pĆ”ginas que realmente liberó")”h]”hŒuFixes: 54a4f0239f2e ("KVM: MMU: hacer que kvm_mmu_zap_page() devuelva la cantidad de pĆ”ginas que realmente liberó")”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“K hjph²hubh¼)”}”(hŒ¢Las siguientes configuraciones de ``git config`` se pueden usar para agregar un bonito formato y generar este estilo con los comandos ``git log`` o ``git show``::”h]”(hŒ"Las siguientes configuraciones de ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ``git config``”h]”hŒ git config”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒV se pueden usar para agregar un bonito formato y generar este estilo con los comandos ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ ``git log``”h]”hŒgit log”…””}”(hj)h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒ o ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ ``git show``”h]”hŒgit show”…””}”(hj;h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒ:”…””}”(hjh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K£hjph²hubj*)”}”(hŒF[core] abbrev = 12 [pretty] fixes = Fixes: %h (\"%s\")”h]”hŒF[core] abbrev = 12 [pretty] fixes = Fixes: %h (\"%s\")”…””}”hjSsbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“K§hjph²hubh¼)”}”(hŒUn ejemplo de uso::”h]”hŒUn ejemplo de uso:”…””}”(hjah²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K¬hjph²hubj*)”}”(hŒž$ git log -1 --pretty=fixes 54a4f0239f2e Fixes: 54a4f0239f2e ("KVM: MMU: hacer que kvm_mmu_zap_page() devuelva la cantidad de pĆ”ginas que realmente liberó")”h]”hŒž$ git log -1 --pretty=fixes 54a4f0239f2e Fixes: 54a4f0239f2e ("KVM: MMU: hacer que kvm_mmu_zap_page() devuelva la cantidad de pĆ”ginas que realmente liberó")”…””}”hjosbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“K®hjph²hubjx)”}”(hŒ.. _sp_split_changes:”h]”h}”(h]”h ]”h"]”h$]”h&]”jƒŒsp-split-changes”uh1jwh“K¾hjph²hh³hģubeh}”(h]”(Œdescriba-sus-cambios”jgeh ]”h"]”(Œdescriba sus cambios”Œsp_describe_changes”eh$]”h&]”uh1j…hj‡h²hh³hģh“K6Œexpect_referenced_by_name”}”jŽj]sŒexpect_referenced_by_id”}”jgj]subj†)”}”(hhh]”(j‹)”}”(hŒSepare sus cambios”h]”hŒSepare sus cambios”…””}”(hj˜h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj•h²hh³hģh“K“ubh¼)”}”(hŒ5Separe cada **cambio lógico** en un parche separado.”h]”(hŒ Separe cada ”…””}”(hj¦h²hh³Nh“NubjD)”}”(hŒ**cambio lógico**”h]”hŒcambio lógico”…””}”(hj®h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jChj¦ubhŒ en un parche separado.”…””}”(hj¦h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K¶hj•h²hubh¼)”}”(hXPor ejemplo, si sus cambios incluyen correcciones de errores y mejoras en el rendimiento de un controlador, separe esos cambios en dos o mĆ”s parches. Si sus cambios incluyen una actualización de la API y una nueva controlador que usa esta nueva API, sepĆ”relos en dos parches.”h]”hXPor ejemplo, si sus cambios incluyen correcciones de errores y mejoras en el rendimiento de un controlador, separe esos cambios en dos o mĆ”s parches. Si sus cambios incluyen una actualización de la API y una nueva controlador que usa esta nueva API, sepĆ”relos en dos parches.”…””}”(hjĘh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Køhj•h²hubh¼)”}”(hŒ°Por otro lado, si realiza un solo cambio en numerosos archivos, agrupe esos cambios en un solo parche. Por lo tanto, un solo cambio lógico estarĆ” contenido en un solo parche.”h]”hŒ°Por otro lado, si realiza un solo cambio en numerosos archivos, agrupe esos cambios en un solo parche. Por lo tanto, un solo cambio lógico estarĆ” contenido en un solo parche.”…””}”(hjŌh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K½hj•h²hubh¼)”}”(hŒ²El punto a recordar es que cada parche debe realizar un cambio que puede ser verificado por los revisores fĆ”cilmente. Cada parche debe ser justificable por sus propios mĆ©ritos.”h]”hŒ²El punto a recordar es que cada parche debe realizar un cambio que puede ser verificado por los revisores fĆ”cilmente. Cada parche debe ser justificable por sus propios mĆ©ritos.”…””}”(hjāh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KĮhj•h²hubh¼)”}”(hŒ“Si un parche depende de otro parche para que un cambio sea completo, eso estĆ” bien. Simplemente incluya que **"este parche depende del parche X"** en la descripción de su parche.”h]”(hŒmSi un parche depende de otro parche para que un cambio sea completo, eso estĆ” bien. Simplemente incluya que ”…””}”(hjšh²hh³Nh“NubjD)”}”(hŒ&**"este parche depende del parche X"**”h]”hŒ&ā€œeste parche depende del parche Xā€”…””}”(hjųh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jChjšubhŒ! en la descripción de su parche.”…””}”(hjšh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KÅhj•h²hubh¼)”}”(hXkCuando divida su cambio en una serie de parches, tenga especial cuidado en asegurarse de que el kernel se compila y ejecuta correctamente despuĆ©s de cada parche en la serie. Los desarrolladores que usan ``git bisect`` para rastrear un problema pueden terminar dividiendo su serie de parches en cualquier punto; no le agradecerĆ”n si introdujo errores a la mitad.”h]”(hŒĢCuando divida su cambio en una serie de parches, tenga especial cuidado en asegurarse de que el kernel se compila y ejecuta correctamente despuĆ©s de cada parche en la serie. Los desarrolladores que usan ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ``git bisect``”h]”hŒ git bisect”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒ‘ para rastrear un problema pueden terminar dividiendo su serie de parches en cualquier punto; no le agradecerĆ”n si introdujo errores a la mitad.”…””}”(hjh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KÉhj•h²hubh¼)”}”(hŒ¤Si no puede condensar su conjunto de parches en un conjunto mĆ”s pequeƱo de parches, solo publique, mĆ”s o menos 15 a la vez, y espere la revisión e integración.”h]”hŒ¤Si no puede condensar su conjunto de parches en un conjunto mĆ”s pequeƱo de parches, solo publique, mĆ”s o menos 15 a la vez, y espere la revisión e integración.”…””}”(hj0h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KĻhj•h²hubeh}”(h]”(Œsepare-sus-cambios”j‡eh ]”h"]”(Œsepare sus cambios”Œsp_split_changes”eh$]”h&]”uh1j…hj‡h²hh³hģh“K“j‘}”jDj}sj“}”j‡j}subj†)”}”(hhh]”(j‹)”}”(hŒRevise el estilo en sus cambios”h]”hŒRevise el estilo en sus cambios”…””}”(hjLh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjIh²hh³hģh“KÕubh¼)”}”(hXRevise su parche para ver si hay violaciones de estilo bĆ”sico, cuyos detalles pueden ser encontrados en Documentation/process/coding-style.rst. No hacerlo simplemente desperdicia el tiempo de los revisores y su parche serĆ” rechazado, probablemente sin siquiera ser leĆ­do.”h]”hXRevise su parche para ver si hay violaciones de estilo bĆ”sico, cuyos detalles pueden ser encontrados en Documentation/process/coding-style.rst. No hacerlo simplemente desperdicia el tiempo de los revisores y su parche serĆ” rechazado, probablemente sin siquiera ser leĆ­do.”…””}”(hjZh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“K×hjIh²hubh¼)”}”(hXrUna excepción importante es cuando se mueve código de un archivo a otro. En tal caso, en absoluto debe modificar el código movido en el mismo parche en que lo mueve. Esto divide claramente el acto de mover el código y sus cambios. Esto ayuda mucho a la revisión de la diferencias reales y permite que las herramientas rastreen mejor el historial del código en sĆ­.”h]”hXrUna excepción importante es cuando se mueve código de un archivo a otro. En tal caso, en absoluto debe modificar el código movido en el mismo parche en que lo mueve. Esto divide claramente el acto de mover el código y sus cambios. Esto ayuda mucho a la revisión de la diferencias reales y permite que las herramientas rastreen mejor el historial del código en sĆ­.”…””}”(hjhh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KÜhjIh²hubh¼)”}”(hXEVerifique sus parches con el verificador de estilo de parches antes de enviarlos (scripts/checkpatch.pl). Tenga en cuenta, sin embargo, que el verificador de estilo debe ser visto como una guĆ­a, no como un reemplazo del juicio humano. Si su código es mejor con una violación entonces probablemente sea mejor dejarlo estar.”h]”hXEVerifique sus parches con el verificador de estilo de parches antes de enviarlos (scripts/checkpatch.pl). Tenga en cuenta, sin embargo, que el verificador de estilo debe ser visto como una guĆ­a, no como un reemplazo del juicio humano. Si su código es mejor con una violación entonces probablemente sea mejor dejarlo estar.”…””}”(hjvh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KāhjIh²hubhŒdefinition_list”“”)”}”(hhh]”hŒdefinition_list_item”“”)”}”(hŒĢEl verificador informa a tres niveles: - ERROR: cosas que es muy probable que estĆ©n mal - WARNING: Advertencia. Cosas que requieren una revisión cuidadosa - CHECK: Revisar. Cosas que requieren pensarlo ”h]”(hŒterm”“”)”}”(hŒ&El verificador informa a tres niveles:”h]”hŒ&El verificador informa a tres niveles:”…””}”(hj‘h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hģh“Kėhj‹ubhŒ definition”“”)”}”(hhh]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ/ERROR: cosas que es muy probable que estĆ©n mal”h]”h¼)”}”(hj­h]”hŒ/ERROR: cosas que es muy probable que estĆ©n mal”…””}”(hjÆh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Kéhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj¦ubjŖ)”}”(hŒAWARNING: Advertencia. Cosas que requieren una revisión cuidadosa”h]”h¼)”}”(hjÄh]”hŒAWARNING: Advertencia. Cosas que requieren una revisión cuidadosa”…””}”(hjĘh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KźhjĀubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj¦ubjŖ)”}”(hŒ-CHECK: Revisar. Cosas que requieren pensarlo ”h]”h¼)”}”(hŒ,CHECK: Revisar. Cosas que requieren pensarlo”h]”hŒ,CHECK: Revisar. Cosas que requieren pensarlo”…””}”(hjŻh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KėhjŁubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj¦ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j¤h³hģh“Kéhj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸhj‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‰h³hģh“Kėhj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjIh²hh³Nh“Nubh¼)”}”(hŒIDebe poder justificar todas las violaciones que permanezcan en su parche.”h]”hŒIDebe poder justificar todas las violaciones que permanezcan en su parche.”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“KķhjIh²hubeh}”(h]”Œrevise-el-estilo-en-sus-cambios”ah ]”h"]”Œrevise el estilo en sus cambios”ah$]”h&]”uh1j…hj‡h²hh³hģh“KÕubj†)”}”(hhh]”(j‹)”}”(hŒ)Seleccione los destinatarios de su parche”h]”hŒ)Seleccione los destinatarios de su parche”…””}”(hj$h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj!h²hh³hģh“Kńubh¼)”}”(hX+Siempre debe incluir en copia a los apropiados maintainers del subsistema en cualquier parche con código que mantengan; revise a travĆ©s del archivo MAINTAINERS y el historial de revisión del código fuente para ver quiĆ©nes son esos maintainers. El script scripts/get_maintainer.pl puede ser muy Ćŗtil en este paso (pase rutas a sus parches como argumentos para scripts/get_maintainer.pl). Si no puede encontrar un maintainer del subsistema en el que estĆ” trabajando, Andrew Morton (akpm@linux-foundation.org) sirve como maintainer de Ćŗltimo recurso.”h]”(hXēSiempre debe incluir en copia a los apropiados maintainers del subsistema en cualquier parche con código que mantengan; revise a travĆ©s del archivo MAINTAINERS y el historial de revisión del código fuente para ver quiĆ©nes son esos maintainers. El script scripts/get_maintainer.pl puede ser muy Ćŗtil en este paso (pase rutas a sus parches como argumentos para scripts/get_maintainer.pl). Si no puede encontrar un maintainer del subsistema en el que estĆ” trabajando, Andrew Morton (”…””}”(hj2h²hh³Nh“NubjJ)”}”(hŒakpm@linux-foundation.org”h]”hŒakpm@linux-foundation.org”…””}”(hj:h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ mailto:akpm@linux-foundation.org”uh1jIhj2ubhŒ+) sirve como maintainer de Ćŗltimo recurso.”…””}”(hj2h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Kóhj!h²hubh¼)”}”(hXŌNormalmente, tambiĆ©n debe elegir al menos una lista de correo para recibir una copia de su conjunto de parches. linux-kernel@vger.kernel.org debe usarse de forma predeterminada para todos los parches, pero el volumen en esta lista ha hecho que muchos desarrolladores se desconecten. Busque en el archivo MAINTAINERS una lista especĆ­fica de los subsistemas; su parche probablemente recibirĆ” mĆ”s atención allĆ­. Sin embargo, no envĆ­e spam a listas no relacionadas.”h]”(hŒqNormalmente, tambiĆ©n debe elegir al menos una lista de correo para recibir una copia de su conjunto de parches. ”…””}”(hjTh²hh³Nh“NubjJ)”}”(hŒlinux-kernel@vger.kernel.org”h]”hŒlinux-kernel@vger.kernel.org”…””}”(hj\h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ#mailto:linux-kernel@vger.kernel.org”uh1jIhjTubhXG debe usarse de forma predeterminada para todos los parches, pero el volumen en esta lista ha hecho que muchos desarrolladores se desconecten. Busque en el archivo MAINTAINERS una lista especĆ­fica de los subsistemas; su parche probablemente recibirĆ” mĆ”s atención allĆ­. Sin embargo, no envĆ­e spam a listas no relacionadas.”…””}”(hjTh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Kühj!h²hubh¼)”}”(hŒŽMuchas listas relacionadas con el kernel estĆ”n alojadas en kernel.org; puedes encontrar un listado de estas en https://subspace.kernel.org. Existen listas relacionadas con el kernel alojadas en otros lugares, no obstante.”h]”(hŒpMuchas listas relacionadas con el kernel estĆ”n alojadas en kernel.org; puedes encontrar un listado de estas en ”…””}”(hjvh²hh³Nh“NubjJ)”}”(hŒhttps://subspace.kernel.org”h]”hŒhttps://subspace.kernel.org”…””}”(hj~h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j€uh1jIhjvubhŒS. Existen listas relacionadas con el kernel alojadas en otros lugares, no obstante.”…””}”(hjvh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mhj!h²hubh¼)”}”(hŒGĀ”No envĆ­e mĆ”s de 15 parches a la vez a las listas de correo de vger!”h]”hŒGĀ”No envĆ­e mĆ”s de 15 parches a la vez a las listas de correo de vger!”…””}”(hj—h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M hj!h²hubh¼)”}”(hXkLinus Torvalds es el Ć”rbitro final de todos los cambios aceptados en el kernel de Linux. Su dirección de correo electrónico es . Recibe muchos correos electrónicos y, en este momento, muy pocos parches pasan por Linus directamente, por lo que normalmente debe hacer todo lo posible para -evitar- enviarle un correo electrónico.”h]”(hŒƒLinus Torvalds es el Ć”rbitro final de todos los cambios aceptados en el kernel de Linux. Su dirección de correo electrónico es <”…””}”(hj„h²hh³Nh“NubjJ)”}”(hŒtorvalds@linux-foundation.org”h]”hŒtorvalds@linux-foundation.org”…””}”(hj­h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ$mailto:torvalds@linux-foundation.org”uh1jIhj„ubhŒĖ>. Recibe muchos correos electrónicos y, en este momento, muy pocos parches pasan por Linus directamente, por lo que normalmente debe hacer todo lo posible para -evitar- enviarle un correo electrónico.”…””}”(hj„h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M hj!h²hubh¼)”}”(hXuSi tiene un parche que corrige un error de seguridad explotable, envĆ­e ese parche a security@kernel.org. Para errores graves, se debe mantener un poco de discreción y permitir que los distribuidores entreguen el parche a los usuarios; en esos casos, obviamente, el parche no debe enviarse a ninguna lista pĆŗblica. Revise tambiĆ©n Documentation/process/security-bugs.rst.”h]”(hŒUSi tiene un parche que corrige un error de seguridad explotable, envĆ­e ese parche a ”…””}”(hjĒh²hh³Nh“NubjJ)”}”(hŒsecurity@kernel.org”h]”hŒsecurity@kernel.org”…””}”(hjĻh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:security@kernel.org”uh1jIhjĒubhX . Para errores graves, se debe mantener un poco de discreción y permitir que los distribuidores entreguen el parche a los usuarios; en esos casos, obviamente, el parche no debe enviarse a ninguna lista pĆŗblica. Revise tambiĆ©n Documentation/process/security-bugs.rst.”…””}”(hjĒh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mhj!h²hubh¼)”}”(hŒŠLos parches que corrigen un error grave en un kernel en uso deben dirigirse hacia los maintainers estables poniendo una lĆ­nea como esta::”h]”hŒ‰Los parches que corrigen un error grave en un kernel en uso deben dirigirse hacia los maintainers estables poniendo una lĆ­nea como esta:”…””}”(hjéh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mhj!h²hubj*)”}”(hŒCC: stable@vger.kernel.org”h]”hŒCC: stable@vger.kernel.org”…””}”hj÷sbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“Mhj!h²hubh¼)”}”(hŒ·en el Ć”rea de sign-off de su parche (es decir, NO un destinatario de correo electrónico). TambiĆ©n debe leer Documentation/process/stable-kernel-rules.rst ademĆ”s de este documento.”h]”hŒ·en el Ć”rea de sign-off de su parche (es decir, NO un destinatario de correo electrónico). TambiĆ©n debe leer Documentation/process/stable-kernel-rules.rst ademĆ”s de este documento.”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mhj!h²hubh¼)”}”(hX…Si los cambios afectan las interfaces del kernel para el usuario, envĆ­e al maintainer de las MAN-PAGES (como se indica en el archivo MAINTAINERS) un parche de pĆ”ginas de manual, o al menos una notificación del cambio, para que alguna información se abra paso en las pĆ”ginas del manual. Los cambios de la API del espacio de usuario tambiĆ©n deben copiarse en linux-api@vger.kernel.org.”h]”(hXkSi los cambios afectan las interfaces del kernel para el usuario, envĆ­e al maintainer de las MAN-PAGES (como se indica en el archivo MAINTAINERS) un parche de pĆ”ginas de manual, o al menos una notificación del cambio, para que alguna información se abra paso en las pĆ”ginas del manual. Los cambios de la API del espacio de usuario tambiĆ©n deben copiarse en ”…””}”(hjh²hh³Nh“NubjJ)”}”(hŒlinux-api@vger.kernel.org”h]”hŒlinux-api@vger.kernel.org”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ mailto:linux-api@vger.kernel.org”uh1jIhjubhŒ.”…””}”(hjh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M"hj!h²hubeh}”(h]”Œ)seleccione-los-destinatarios-de-su-parche”ah ]”h"]”Œ)seleccione los destinatarios de su parche”ah$]”h&]”uh1j…hj‡h²hh³hģh“Kńubj†)”}”(hhh]”(j‹)”}”(hŒDSin MIME, enlaces, compresión o archivos adjuntos. Solo texto plano”h]”hŒDSin MIME, enlaces, compresión o archivos adjuntos. Solo texto plano”…””}”(hj@h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj=h²hh³hģh“M+ubh¼)”}”(hX/Linus y otros desarrolladores del kernel deben poder leer y comentar sobre los cambios que estĆ” enviando. Es importante para un desarrollador kernel poder "citar" sus cambios, utilizando herramientas estĆ”ndar de correo electrónico, de modo que puedan comentar sobre partes especĆ­ficas de su código.”h]”hX3Linus y otros desarrolladores del kernel deben poder leer y comentar sobre los cambios que estĆ” enviando. Es importante para un desarrollador kernel poder ā€œcitarā€ sus cambios, utilizando herramientas estĆ”ndar de correo electrónico, de modo que puedan comentar sobre partes especĆ­ficas de su código.”…””}”(hjNh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M-hj=h²hubh¼)”}”(hXPor este motivo, todos los parches deben enviarse por correo electrónico "inline". La forma mĆ”s sencilla de hacerlo es con ``git send-email``, que es muy recomendable. Un tutorial interactivo para ``git send-email`` estĆ” disponible en https://git-send-email.io.”h]”(hŒPor este motivo, todos los parches deben enviarse por correo electrónico ā€œinlineā€. La forma mĆ”s sencilla de hacerlo es con ”…””}”(hj\h²hh³Nh“Nubjæ)”}”(hŒ``git send-email``”h]”hŒgit send-email”…””}”(hjdh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj\ubhŒ8, que es muy recomendable. Un tutorial interactivo para ”…””}”(hj\h²hh³Nh“Nubjæ)”}”(hŒ``git send-email``”h]”hŒgit send-email”…””}”(hjvh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj\ubhŒ estĆ” disponible en ”…””}”(hj\h²hh³Nh“NubjJ)”}”(hŒhttps://git-send-email.io”h]”hŒhttps://git-send-email.io”…””}”(hjˆh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jŠuh1jIhj\ubhŒ.”…””}”(hj\h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M3hj=h²hubh¼)”}”(hŒ$Si elige no usar ``git send-email``:”h]”(hŒSi elige no usar ”…””}”(hj”h²hh³Nh“Nubjæ)”}”(hŒ``git send-email``”h]”hŒgit send-email”…””}”(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³hģh“M8hj=h²hubh¶)”}”(hŒoTenga cuidado con el ajuste de palabras de su editor que corrompe su parche, si elige cortar y pegar su parche.”h]”h¼)”}”(hŒoTenga cuidado con el ajuste de palabras de su editor que corrompe su parche, si elige cortar y pegar su parche.”h]”hŒoTenga cuidado con el ajuste de palabras de su editor que corrompe su parche, si elige cortar y pegar su parche.”…””}”(hjÅh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M<hjĮubah}”(h]”h ]”h"]”h$]”h&]”uh1hµhj=h²hh³hģh“Nubh¼)”}”(hXNo adjunte el parche como un archivo adjunto MIME, comprimido o no. Muchas populares aplicaciones de correo electrónico no siempre transmiten un MIME archivo adjunto como texto sin formato, por lo que es imposible comentar en su código. Linus tambiĆ©n necesita un poco mĆ”s de tiempo para procesar un archivo adjunto MIME, disminuyendo la probabilidad de que se acepte su cambio adjunto en MIME.”h]”hXNo adjunte el parche como un archivo adjunto MIME, comprimido o no. Muchas populares aplicaciones de correo electrónico no siempre transmiten un MIME archivo adjunto como texto sin formato, por lo que es imposible comentar en su código. Linus tambiĆ©n necesita un poco mĆ”s de tiempo para procesar un archivo adjunto MIME, disminuyendo la probabilidad de que se acepte su cambio adjunto en MIME.”…””}”(hjŁh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M?hj=h²hubh¼)”}”(hŒ‚Excepción: si su proveedor de correo estĆ” destrozando parches, entonces alguien puede pedir que los vuelva a enviar usando MIME.”h]”hŒ‚Excepción: si su proveedor de correo estĆ” destrozando parches, entonces alguien puede pedir que los vuelva a enviar usando MIME.”…””}”(hjēh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MFhj=h²hubh¼)”}”(hŒØConsulte Documentation/process/email-clients.rst para obtener sugerencias sobre cómo configurar su cliente de correo electrónico para que envĆ­e sus parches intactos.”h]”hŒØConsulte Documentation/process/email-clients.rst para obtener sugerencias sobre cómo configurar su cliente de correo electrónico para que envĆ­e sus parches intactos.”…””}”(hjõh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MIhj=h²hubeh}”(h]”Œ@sin-mime-enlaces-compresion-o-archivos-adjuntos-solo-texto-plano”ah ]”h"]”ŒDsin mime, enlaces, compresión o archivos adjuntos. solo texto plano”ah$]”h&]”uh1j…hj‡h²hh³hģh“M+ubj†)”}”(hhh]”(j‹)”}”(hŒ'Responda a los comentarios de revisión”h]”hŒ'Responda a los comentarios de revisión”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj h²hh³hģh“MNubh¼)”}”(hXBEs casi seguro que su parche recibirĆ” comentarios de los revisores sobre maneras en que se pueda mejorar el parche, en forma de respuesta a su correo electrónico. Debe responder a esos comentarios; ignorar a los revisores es una buena manera de ser ignorado de vuelta. Simplemente puede responder a sus correos electrónicos para contestar a sus comentarios. Revisiones a los comentarios o preguntas que no conduzcan a un cambio de código deben casi con certeza generar un comentario o una entrada en el "changelog" para que el próximo revisor entienda lo que estĆ” pasando.”h]”hXFEs casi seguro que su parche recibirĆ” comentarios de los revisores sobre maneras en que se pueda mejorar el parche, en forma de respuesta a su correo electrónico. Debe responder a esos comentarios; ignorar a los revisores es una buena manera de ser ignorado de vuelta. Simplemente puede responder a sus correos electrónicos para contestar a sus comentarios. Revisiones a los comentarios o preguntas que no conduzcan a un cambio de código deben casi con certeza generar un comentario o una entrada en el ā€œchangelogā€ para que el próximo revisor entienda lo que estĆ” pasando.”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MPhj h²hubh¼)”}”(hXFAsegĆŗrese de decirles a los revisores quĆ© cambios estĆ” haciendo y de agradecerles que dediquen su tiempo. La revisión del código es un proceso agotador y lento, y los revisores a veces se ponen de mal humor. Sin embargo, incluso en ese caso, responda cortĆ©smente y aborde los problemas que hayan seƱalado. Al enviar un siguiente versión, agregue un ``patch changelog`` (registro de cambios en los parches) a la carta de presentación ("cover letter") o a parches individuales explicando la diferencia con la presentación anterior (ver :ref:`sp_the_canonical_patch_format`).”h]”(hXeAsegĆŗrese de decirles a los revisores quĆ© cambios estĆ” haciendo y de agradecerles que dediquen su tiempo. La revisión del código es un proceso agotador y lento, y los revisores a veces se ponen de mal humor. Sin embargo, incluso en ese caso, responda cortĆ©smente y aborde los problemas que hayan seƱalado. Al enviar un siguiente versión, agregue un ”…””}”(hj*h²hh³Nh“Nubjæ)”}”(hŒ``patch changelog``”h]”hŒpatch changelog”…””}”(hj2h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj*ubhŒ¬ (registro de cambios en los parches) a la carta de presentación (ā€œcover letterā€) o a parches individuales explicando la diferencia con la presentación anterior (ver ”…””}”(hj*h²hh³Nh“Nubh)”}”(hŒ$:ref:`sp_the_canonical_patch_format`”h]”hś)”}”(hjFh]”hŒsp_the_canonical_patch_format”…””}”(hjHh²hh³Nh“Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hłhjDubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jRŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒsp_the_canonical_patch_format”uh1hh³hģh“MYhj*ubhŒ).”…””}”(hj*h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MYhj h²hubh¼)”}”(hŒŸConsulte Documentation/process/email-clients.rst para obtener recomendaciones sobre clientes de correo electrónico y normas de etiqueta en la lista de correo.”h]”hŒŸConsulte Documentation/process/email-clients.rst para obtener recomendaciones sobre clientes de correo electrónico y normas de etiqueta en la lista de correo.”…””}”(hjnh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mchj h²hubjx)”}”(hŒ.. _sp_interleaved_replies:”h]”h}”(h]”h ]”h"]”h$]”h&]”jƒŒsp-interleaved-replies”uh1jwh“Mthj h²hh³hģubeh}”(h]”Œ&responda-a-los-comentarios-de-revision”ah ]”h"]”Œ'responda a los comentarios de revisión”ah$]”h&]”uh1j…hj‡h²hh³hģh“MNubj†)”}”(hhh]”(j‹)”}”(hŒTUso de respuestas intercaladas recortadas en las discusiones por correo electrónico”h]”hŒTUso de respuestas intercaladas recortadas en las discusiones por correo electrónico”…””}”(hj’h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjh²hh³hģh“Mjubh¼)”}”(hXPSe desaconseja encarecidamente la publicación en la parte superior de las discusiones sobre el desarrollo del kernel de Linux. Las respuestas intercaladas (o "en lĆ­nea") hacen que las conversaciones sean mucho mĆ”s fĆ”ciles de seguir. Para obtener mĆ”s detalles, consulte: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style”h]”(hXSe desaconseja encarecidamente la publicación en la parte superior de las discusiones sobre el desarrollo del kernel de Linux. Las respuestas intercaladas (o ā€œen lĆ­neaā€) hacen que las conversaciones sean mucho mĆ”s fĆ”ciles de seguir. Para obtener mĆ”s detalles, consulte: ”…””}”(hj h²hh³Nh“NubjJ)”}”(hŒ=https://en.wikipedia.org/wiki/Posting_style#Interleaved_style”h]”hŒ=https://en.wikipedia.org/wiki/Posting_style#Interleaved_style”…””}”(hjØh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jŖuh1jIhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mlhjh²hubh¼)”}”(hŒ3Como se cita frecuentemente en la lista de correo::”h]”hŒ2Como se cita frecuentemente en la lista de correo:”…””}”(hj½h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mrhjh²hubj*)”}”(hX0A: http://en.wikipedia.org/wiki/Top_post Q: ĀæDónde puedo encontrar información sobre esto que se llama top-posting? A: Porque desordena el orden en el que la gente normalmente lee el texto. Q: ĀæPor quĆ© es tan malo el top-posting? A: Top-posting. Q: ĀæQuĆ© es lo mĆ”s molesto del correo electrónico?”h]”hX0A: http://en.wikipedia.org/wiki/Top_post Q: ĀæDónde puedo encontrar información sobre esto que se llama top-posting? A: Porque desordena el orden en el que la gente normalmente lee el texto. Q: ĀæPor quĆ© es tan malo el top-posting? A: Top-posting. Q: ĀæQuĆ© es lo mĆ”s molesto del correo electrónico?”…””}”hjĖsbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“Mthjh²hubh¼)”}”(hXDel mismo modo, por favor, recorte todas las citas innecesarias que no sean relevantes para su respuesta. Esto hace que las respuestas sean mĆ”s fĆ”ciles de encontrar y ahorra tiempo y espacio. Para obtener mĆ”s información, consulte: http://daringfireball.net/2007/07/on_top ::”h]”(hŒģDel mismo modo, por favor, recorte todas las citas innecesarias que no sean relevantes para su respuesta. Esto hace que las respuestas sean mĆ”s fĆ”ciles de encontrar y ahorra tiempo y espacio. Para obtener mĆ”s información, consulte: ”…””}”(hjŁh²hh³Nh“NubjJ)”}”(hŒ(http://daringfireball.net/2007/07/on_top”h]”hŒ(http://daringfireball.net/2007/07/on_top”…””}”(hjįh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jćuh1jIhjŁubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M{hjh²hubj*)”}”(hŒ8A: No. Q: ĀæDebo incluir citas despuĆ©s de mi respuesta?”h]”hŒ8A: No. Q: ĀæDebo incluir citas despuĆ©s de mi respuesta?”…””}”hjösbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“M€hjh²hubjx)”}”(hŒ.. _sp_resend_reminders:”h]”h}”(h]”h ]”h"]”h$]”h&]”jƒŒsp-resend-reminders”uh1jwh“Mhjh²hh³hģubeh}”(h]”(ŒSuso-de-respuestas-intercaladas-recortadas-en-las-discusiones-por-correo-electronico”j†eh ]”h"]”(ŒTuso de respuestas intercaladas recortadas en las discusiones por correo electrónico”Œsp_interleaved_replies”eh$]”h&]”uh1j…hj‡h²hh³hģh“Mjj‘}”j j|sj“}”j†j|subj†)”}”(hhh]”(j‹)”}”(hŒNo se desanime o impaciente”h]”hŒNo se desanime o impaciente”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj h²hh³hģh“M†ubh¼)”}”(hŒ—DespuĆ©s de haber entregado su cambio, sea paciente y espere. Los revisores son personas ocupadas y es posible que no lleguen a su parche de inmediato.”h]”hŒ—DespuĆ©s de haber entregado su cambio, sea paciente y espere. Los revisores son personas ocupadas y es posible que no lleguen a su parche de inmediato.”…””}”(hj+ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mˆhj h²hubh¼)”}”(hXĮƉrase una vez, los parches solĆ­an desaparecer en el vacĆ­o sin comentarios, pero el proceso de desarrollo funciona mejor que eso ahora. DeberĆ­a recibir comentarios dentro de una semana mĆ”s o menos; si eso no sucede, asegĆŗrese de que ha enviado sus parches al lugar correcto. Espere un mĆ­nimo de una semana antes de volver a enviar o hacer ping a los revisores, posiblemente mĆ”s durante periodos de mucho trabajo ocupados como "merge windows".”h]”hXÅƉrase una vez, los parches solĆ­an desaparecer en el vacĆ­o sin comentarios, pero el proceso de desarrollo funciona mejor que eso ahora. DeberĆ­a recibir comentarios dentro de una semana mĆ”s o menos; si eso no sucede, asegĆŗrese de que ha enviado sus parches al lugar correcto. Espere un mĆ­nimo de una semana antes de volver a enviar o hacer ping a los revisores, posiblemente mĆ”s durante periodos de mucho trabajo ocupados como ā€œmerge windowsā€.”…””}”(hj9 h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M‹hj h²hubh¼)”}”(hŒ„TambiĆ©n estĆ” bien volver a enviar el parche o la serie de parches despuĆ©s de un par de semanas con la palabra "RESEND" (reenviar) aƱadida a la lĆ­nea de asunto::”h]”hŒØTambiĆ©n estĆ” bien volver a enviar el parche o la serie de parches despuĆ©s de un par de semanas con la palabra ā€œRESENDā€ (reenviar) aƱadida a la lĆ­nea de asunto:”…””}”(hjG h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M“hj h²hubj*)”}”(hŒ7[PATCH Vx RESEND] sub/sys: Resumen condensado de parche”h]”hŒ7[PATCH Vx RESEND] sub/sys: Resumen condensado de parche”…””}”hjU sbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“M—hj h²hubh¼)”}”(hŒųNo incluya "RESEND" cuando envĆ­e una versión modificada de su parche o serie de parches: "RESEND" solo se aplica al reenvĆ­o de un parche o serie de parches que no hayan sido modificados de ninguna manera con respecto a la presentación anterior.”h]”hXNo incluya ā€œRESENDā€ cuando envĆ­e una versión modificada de su parche o serie de parches: ā€œRESENDā€ solo se aplica al reenvĆ­o de un parche o serie de parches que no hayan sido modificados de ninguna manera con respecto a la presentación anterior.”…””}”(hjc h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M™hj h²hubeh}”(h]”(Œno-se-desanime-o-impaciente”j eh ]”h"]”(Œno se desanime o impaciente”Œsp_resend_reminders”eh$]”h&]”uh1j…hj‡h²hh³hģh“M†j‘}”jw j sj“}”j j subj†)”}”(hhh]”(j‹)”}”(hŒIncluya PATCH en el asunto”h]”hŒIncluya PATCH en el asunto”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj| h²hh³hģh“M ubh¼)”}”(hXDebido al alto trĆ”fico de correo electrónico a Linus y al kernel de Linux, es comĆŗn prefijar su lĆ­nea de asunto con [PATCH]. Esto le permite a Linus y otros desarrolladores del kernel distinguir mĆ”s fĆ”cilmente los parches de otras discusiones por correo electrónico.”h]”hXDebido al alto trĆ”fico de correo electrónico a Linus y al kernel de Linux, es comĆŗn prefijar su lĆ­nea de asunto con [PATCH]. Esto le permite a Linus y otros desarrolladores del kernel distinguir mĆ”s fĆ”cilmente los parches de otras discusiones por correo electrónico.”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M¢hj| h²hubh¼)”}”(hŒ-``git send-email`` lo harĆ” automĆ”ticamente.”h]”(jæ)”}”(hŒ``git send-email``”h]”hŒgit send-email”…””}”(hjŸ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj› ubhŒ lo harĆ” automĆ”ticamente.”…””}”(hj› h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M§hj| h²hubeh}”(h]”Œincluya-patch-en-el-asunto”ah ]”h"]”Œincluya patch en el asunto”ah$]”h&]”uh1j…hj‡h²hh³hģh“M ubj†)”}”(hhh]”(j‹)”}”(hŒ”h]”hŒ@Signed-off-by: Random J Developer ”…””}”hj– sbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“MÕhjģ h²hubh¼)”}”(hXusando su nombre real (lamentablemente, no pseudónimos ni contribuciones anónimas). Esto se harĆ” por usted automĆ”ticamente si usa ``git commit -s``. Las reversiones de código tambiĆ©n deben incluir "Signed-off-by". ``git revert -s`` hace eso por usted.”h]”(hŒ†usando su nombre real (lamentablemente, no pseudónimos ni contribuciones anónimas). Esto se harĆ” por usted automĆ”ticamente si usa ”…””}”(hj¤ h²hh³Nh“Nubjæ)”}”(hŒ``git commit -s``”h]”hŒ git commit -s”…””}”(hj¬ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¤ ubhŒI. Las reversiones de código tambiĆ©n deben incluir ā€œSigned-off-byā€. ”…””}”(hj¤ h²hh³Nh“Nubjæ)”}”(hŒ``git revert -s``”h]”hŒ git revert -s”…””}”(hj¾ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¤ ubhŒ hace eso por usted.”…””}”(hj¤ h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M×hjģ h²hubh¼)”}”(hŒīAlgunas personas tambiĆ©n ponen etiquetas adicionales al final. Simplemente serĆ”n ignoradas por ahora, pero puede hacer esto para marcar procedimientos internos de su empresa o simplemente seƱalar algĆŗn detalle especial sobre la firma.”h]”hŒīAlgunas personas tambiĆ©n ponen etiquetas adicionales al final. Simplemente serĆ”n ignoradas por ahora, pero puede hacer esto para marcar procedimientos internos de su empresa o simplemente seƱalar algĆŗn detalle especial sobre la firma.”…””}”(hjÖ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MÜhjģ h²hubh¼)”}”(hXtCualquier otro SoB (Signed-off-by:) despuĆ©s del SoB del autor es de personas que manipulen y transporten el parche, pero no participaron en su desarrollo. Las cadenas de SoB deben reflejar la ruta **real** del parche de cómo se propagó a los maintainers y, en Ćŗltima instancia, a Linus, con la primera entrada de SoB que seƱala la autorĆ­a principal de un solo autor.”h]”(hŒĘCualquier otro SoB (Signed-off-by:) despuĆ©s del SoB del autor es de personas que manipulen y transporten el parche, pero no participaron en su desarrollo. Las cadenas de SoB deben reflejar la ruta ”…””}”(hjä h²hh³Nh“NubjD)”}”(hŒ**real**”h]”hŒreal”…””}”(hjģ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jChjä ubhŒ¦ del parche de cómo se propagó a los maintainers y, en Ćŗltima instancia, a Linus, con la primera entrada de SoB que seƱala la autorĆ­a principal de un solo autor.”…””}”(hjä h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mįhjģ h²hubeh}”(h]”Œ+certificado-de-origen-del-desarrollador-1-1”ah ]”h"]”Œ+certificado de origen del desarrollador 1.1”ah$]”h&]”uh1j…hjæ h²hh³hģh“Møubeh}”(h]”Œ;firme-su-trabajo-el-certificado-de-origen-del-desarrollador”ah ]”h"]”Œ Co-developed-by: Primer coautor Signed-off-by: Primer coautor Co-developed-by: Segundo coautor Signed-off-by: Segundo coautor Signed-off-by: Autor del From ”h]”hX: Co-developed-by: Primer coautor Signed-off-by: Primer coautor Co-developed-by: Segundo coautor Signed-off-by: Segundo coautor Signed-off-by: Autor del From ”…””}”hjµ sbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“Mhj h²hubh¼)”}”(hŒ Co-developed-by: Co-Autor aleatorio Signed-off-by: Coautor aleatorio Signed-off-by: Autor del From Co-developed-by: Coautor que envió Signed-off-by: Coautor que envĆ­a ”h]”hXwFrom: Autor del From Co-developed-by: Co-Autor aleatorio Signed-off-by: Coautor aleatorio Signed-off-by: Autor del From Co-developed-by: Coautor que envió Signed-off-by: Coautor que envĆ­a ”…””}”hjŃ sbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“M&hj h²hubeh}”(h]”Œ-cuando-usar-acked-by-cc-y-co-developed-by-por”ah ]”h"]”Œ2cuĆ”ndo usar acked-by:, cc: y co-developed-by por:”ah$]”h&]”uh1j…hj‡h²hh³hģh“Méubj†)”}”(hhh]”(j‹)”}”(hŒEUso de Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: y Fixes:”h]”hŒEUso de Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: y Fixes:”…””}”(hjź h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjē h²hh³hģh“M1ubh¼)”}”(hX_La etiqueta Reported-by (Reportado-por) otorga crĆ©dito a las personas que encuentran errores y los reportan. Por favor, tenga en cuenta que si se informó de un error en privado, debe pedir primero permiso antes de usar la etiqueta Reported-by. La etiqueta estĆ” destinada a errores; por favor no la use para acreditar peticiones de caracterĆ­sticas.”h]”hX_La etiqueta Reported-by (Reportado-por) otorga crĆ©dito a las personas que encuentran errores y los reportan. Por favor, tenga en cuenta que si se informó de un error en privado, debe pedir primero permiso antes de usar la etiqueta Reported-by. La etiqueta estĆ” destinada a errores; por favor no la use para acreditar peticiones de caracterĆ­sticas.”…””}”(hjų h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M3hjē h²hubh¼)”}”(hX;Una etiqueta Tested-by: indica que el parche se probó con Ć©xito (en algĆŗn entorno) por la persona nombrada. Esta etiqueta informa a los maintainers de que se han realizado algunas pruebas, proporciona un medio para ubicar "testers" (gente que pruebe) otros parches futuros y asegura el crĆ©dito para los testers.”h]”hX?Una etiqueta Tested-by: indica que el parche se probó con Ć©xito (en algĆŗn entorno) por la persona nombrada. Esta etiqueta informa a los maintainers de que se han realizado algunas pruebas, proporciona un medio para ubicar ā€œtestersā€ (gente que pruebe) otros parches futuros y asegura el crĆ©dito para los testers.”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M9hjē h²hubh¼)”}”(hŒ€Reviewed-by: en cambio, indica que el parche ha sido revisado y encontrado aceptable de acuerdo con la Declaración del Revisor:”h]”hŒ€Reviewed-by: en cambio, indica que el parche ha sido revisado y encontrado aceptable de acuerdo con la Declaración del Revisor:”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M?hjē h²hubj†)”}”(hhh]”(j‹)”}”(hŒ(Declaración de Supervisión del Revisor”h]”hŒ(Declaración de Supervisión del Revisor”…””}”(hj% h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj" h²hh³hģh“MCubh¼)”}”(hŒ0Al ofrecer mi etiqueta Reviewed-by:, afirmo que:”h]”hŒ0Al ofrecer mi etiqueta Reviewed-by:, afirmo que:”…””}”(hj3 h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MEhj" h²hubh¼)”}”(hŒ(a) He llevado a cabo una revisión tĆ©cnica de este parche para evaluar su idoneidad y preparación para su inclusión en el kernel principal.”h]”hŒ(a) He llevado a cabo una revisión tĆ©cnica de este parche para evaluar su idoneidad y preparación para su inclusión en el kernel principal.”…””}”(hjA h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MGhj" h²hubh¼)”}”(hŒ¬(b) Cualquier problema, inquietud o pregunta relacionada con el parche han sido comunicados al remitente. Estoy satisfecho con la respuesta del remitente a mis comentarios.”h]”hŒ¬(b) Cualquier problema, inquietud o pregunta relacionada con el parche han sido comunicados al remitente. Estoy satisfecho con la respuesta del remitente a mis comentarios.”…””}”(hjO h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MKhj" h²hubh¼)”}”(hŒą(c) Si bien puede haber cosas que podrĆ­an mejorarse con esta entrega, creo que es, en este momento, (1) una modificación valiosa al kernel, y (2) libre de conocidas cuestiones que argumentarĆ­an en contra de su inclusión.”h]”hŒą(c) Si bien puede haber cosas que podrĆ­an mejorarse con esta entrega, creo que es, en este momento, (1) una modificación valiosa al kernel, y (2) libre de conocidas cuestiones que argumentarĆ­an en contra de su inclusión.”…””}”(hj] h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MOhj" h²hubh¼)”}”(hŒć(d) Si bien he revisado el parche y creo que es correcto, no hago (a menos que se indique explĆ­citamente en otro lugar) ninguna garantĆ­a o avales de que lograrĆ” su definido propósito o función en cualquier situación dada.”h]”hŒć(d) Si bien he revisado el parche y creo que es correcto, no hago (a menos que se indique explĆ­citamente en otro lugar) ninguna garantĆ­a o avales de que lograrĆ” su definido propósito o función en cualquier situación dada.”…””}”(hjk h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MThj" h²hubh¼)”}”(hXaUna etiqueta Reviewed-by es una declaración de opinión de que el parche es una modificación apropiada al kernel sin que haya ningĆŗn problema grave a nivel tĆ©cnico. Cualquier revisor interesado (que haya hecho el trabajo) puede ofrecer una etiqueta Reviewed-by para un parche. Esta etiqueta sirve para dar crĆ©dito a revisores e informar a los maintainers del grado de revisión que se ha hecho en el parche. Las etiquetas Reviewed-by, cuando las otorgan revisores conocidos por entender del tema y realizar revisiones exhaustivas, normalmente aumentan la probabilidad de que su parche entre en el kernel.”h]”hXaUna etiqueta Reviewed-by es una declaración de opinión de que el parche es una modificación apropiada al kernel sin que haya ningĆŗn problema grave a nivel tĆ©cnico. Cualquier revisor interesado (que haya hecho el trabajo) puede ofrecer una etiqueta Reviewed-by para un parche. Esta etiqueta sirve para dar crĆ©dito a revisores e informar a los maintainers del grado de revisión que se ha hecho en el parche. Las etiquetas Reviewed-by, cuando las otorgan revisores conocidos por entender del tema y realizar revisiones exhaustivas, normalmente aumentan la probabilidad de que su parche entre en el kernel.”…””}”(hjy h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MYhj" h²hubh¼)”}”(hXLas etiquetas Tested-by y Reviewed-by, una vez recibidas en la lista de correo por el tester o revisor, deben ser incluidas por el autor de los parches pertinentes al enviar próximas versiones. Sin embargo, si el parche ha cambiado sustancialmente en la siguiente versión, es posible que estas etiquetas ya no sean aplicables y, por lo tanto, deben eliminarse. Por lo general, se debe mencionar la eliminación de las etiquetas Tested-by o Reviewed-by de alguien en el registro de cambios del parche (despuĆ©s del separador '---').”h]”hXLas etiquetas Tested-by y Reviewed-by, una vez recibidas en la lista de correo por el tester o revisor, deben ser incluidas por el autor de los parches pertinentes al enviar próximas versiones. Sin embargo, si el parche ha cambiado sustancialmente en la siguiente versión, es posible que estas etiquetas ya no sean aplicables y, por lo tanto, deben eliminarse. Por lo general, se debe mencionar la eliminación de las etiquetas Tested-by o Reviewed-by de alguien en el registro de cambios del parche (despuĆ©s del separador ā€˜---ā€˜).”…””}”(hj‡ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mchj" h²hubh¼)”}”(hX„Una etiqueta Suggested-by: indica que la idea del parche es sugerida por la persona nombrada y asegura el crĆ©dito a la persona por la idea. Tenga en cuenta que esto no debe agregarse sin el permiso del "reporter", especialmente si la idea no fue publicada en un foro pĆŗblico. Dicho esto, si diligentemente acreditamos a los reporters de ideas, con suerte, se sentirĆ”n inspirados para ayudarnos nuevamente en el futuro.”h]”hX©Una etiqueta Suggested-by: indica que la idea del parche es sugerida por la persona nombrada y asegura el crĆ©dito a la persona por la idea. Tenga en cuenta que esto no debe agregarse sin el permiso del ā€œreporterā€, especialmente si la idea no fue publicada en un foro pĆŗblico. Dicho esto, si diligentemente acreditamos a los reporters de ideas, con suerte, se sentirĆ”n inspirados para ayudarnos nuevamente en el futuro.”…””}”(hj• h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mlhj" h²hubh¼)”}”(hXŽUna etiqueta Fixes: indica que el parche corrige un problema en un commit anterior. Esto se utiliza para facilitar descubrir dónde se originó un error, lo que puede ayudar a revisar una corrección de errores. Esta etiqueta tambiĆ©n ayuda al equipo del kernel estable a determinar quĆ© versiones estables del kernel deberĆ­an recibir su corrección. Este es el mĆ©todo preferido para indicar un error corregido por el parche. Revise :ref:`describe_changes` para mĆ”s detalles.”h]”(hX³Una etiqueta Fixes: indica que el parche corrige un problema en un commit anterior. Esto se utiliza para facilitar descubrir dónde se originó un error, lo que puede ayudar a revisar una corrección de errores. Esta etiqueta tambiĆ©n ayuda al equipo del kernel estable a determinar quĆ© versiones estables del kernel deberĆ­an recibir su corrección. Este es el mĆ©todo preferido para indicar un error corregido por el parche. Revise ”…””}”(hj£ h²hh³Nh“Nubh)”}”(hŒ:ref:`describe_changes`”h]”hś)”}”(hj­ h]”hŒdescribe_changes”…””}”(hjÆ h²hh³Nh“Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hłhj« ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j¹ Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒdescribe_changes”uh1hh³hģh“Mshj£ ubhŒ para mĆ”s detalles.”…””}”(hj£ h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mshj" h²hubh¼)”}”(hXNota: Adjuntar una etiqueta Fixes: no subvierte las reglas estables del proceso del kernel ni el requisito de CC: stable@vger.kernel.org en todos los parches candidatos de ramas estables. Para obtener mĆ”s información, lea Documentation/process/stable-kernel-rules.rst.”h]”(hŒrNota: Adjuntar una etiqueta Fixes: no subvierte las reglas estables del proceso del kernel ni el requisito de CC: ”…””}”(hjÕ h²hh³Nh“NubjJ)”}”(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”uh1jIhjÕ ubhŒ† en todos los parches candidatos de ramas estables. Para obtener mĆ”s información, lea Documentation/process/stable-kernel-rules.rst.”…””}”(hjÕ h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M{hj" h²hubjx)”}”(hŒ".. _sp_the_canonical_patch_format:”h]”h}”(h]”h ]”h"]”h$]”h&]”jƒŒsp-the-canonical-patch-format”uh1jwh“Mhj" h²hh³hģubeh}”(h]”Œ&declaracion-de-supervision-del-revisor”ah ]”h"]”Œ(declaración de supervisión del revisor”ah$]”h&]”uh1j…hjē h²hh³hģh“MCubeh}”(h]”Œ=uso-de-reported-by-tested-by-reviewed-by-suggested-by-y-fixes”ah ]”h"]”ŒEuso de reported-by:, tested-by:, reviewed-by:, suggested-by: y fixes:”ah$]”h&]”uh1j…hj‡h²hh³hģh“M1ubj†)”}”(hhh]”(j‹)”}”(hŒFormato de parche canónico”h]”hŒFormato de parche canónico”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj h²hh³hģh“Mƒubh¼)”}”(hX]Esta sección describe cómo debe darse formato al propio parche. Tenga en cuenta que, si tiene sus parches almacenados en un repositorio ``git``, el parche con formato adecuado se puede obtener con ``git format-patch``. Las herramientas no pueden crear el texto necesario, sin embargo, asĆ­ que lea las instrucciones a continuación de todos modos.”h]”(hŒŠEsta sección describe cómo debe darse formato al propio parche. Tenga en cuenta que, si tiene sus parches almacenados en un repositorio ”…””}”(hj# h²hh³Nh“Nubjæ)”}”(hŒ``git``”h]”hŒgit”…””}”(hj+ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj# ubhŒ6, el parche con formato adecuado se puede obtener con ”…””}”(hj# h²hh³Nh“Nubjæ)”}”(hŒ``git format-patch``”h]”hŒgit format-patch”…””}”(hj= h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj# ubhŒ‚. Las herramientas no pueden crear el texto necesario, sin embargo, asĆ­ que lea las instrucciones a continuación de todos modos.”…””}”(hj# h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M…hj h²hubh¼)”}”(hŒ-La lĆ­nea de asunto del parche canónico es::”h]”hŒ,La lĆ­nea de asunto del parche canónico es:”…””}”(hjU h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M‹hj h²hubj*)”}”(hŒ4Asunto: [PATCH 001/123] subsistema: frase de resumen”h]”hŒ4Asunto: [PATCH 001/123] subsistema: frase de resumen”…””}”hjc sbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“Mhj h²hubh¼)”}”(hŒAEl cuerpo del mensaje del parche canónico contiene lo siguiente:”h]”hŒAEl cuerpo del mensaje del parche canónico contiene lo siguiente:”…””}”(hjq h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mhj h²hubj )”}”(hXo- Una lĆ­nea ``from`` que especifica el autor del parche, seguida de una lĆ­nea vacĆ­a (solo es necesario si la persona que envĆ­a el parche no es el autor). - El cuerpo de la explicación, lĆ­nea envuelta en 75 columnas, que se copiara en el registro de cambios permanente para describir este parche. - Una lĆ­nea vacĆ­a. - Las lĆ­neas ``Signed-off-by:``, descritas anteriormente, que tambiĆ©n vaya en el registro de cambios. - Una lĆ­nea de marcador que contiene simplemente ``---``. - Cualquier comentario adicional que no sea adecuado para el registro de cambios. - El parche real (output de ``diff``). ”h]”j„)”}”(hhh]”(jŖ)”}”(hŒœUna lĆ­nea ``from`` que especifica el autor del parche, seguida de una lĆ­nea vacĆ­a (solo es necesario si la persona que envĆ­a el parche no es el autor). ”h]”h¼)”}”(hŒ›Una lĆ­nea ``from`` que especifica el autor del parche, seguida de una lĆ­nea vacĆ­a (solo es necesario si la persona que envĆ­a el parche no es el autor).”h]”(hŒ Una lĆ­nea ”…””}”(hjŠ h²hh³Nh“Nubjæ)”}”(hŒ``from``”h]”hŒfrom”…””}”(hj’ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŠ ubhŒˆ que especifica el autor del parche, seguida de una lĆ­nea vacĆ­a (solo es necesario si la persona que envĆ­a el parche no es el autor).”…””}”(hjŠ h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M‘hj† ubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjƒ ubjŖ)”}”(hŒŽEl cuerpo de la explicación, lĆ­nea envuelta en 75 columnas, que se copiara en el registro de cambios permanente para describir este parche. ”h]”h¼)”}”(hŒEl cuerpo de la explicación, lĆ­nea envuelta en 75 columnas, que se copiara en el registro de cambios permanente para describir este parche.”h]”hŒEl cuerpo de la explicación, lĆ­nea envuelta en 75 columnas, que se copiara en el registro de cambios permanente para describir este parche.”…””}”(hj“ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M•hj° ubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjƒ ubjŖ)”}”(hŒUna lĆ­nea vacĆ­a. ”h]”h¼)”}”(hŒUna lĆ­nea vacĆ­a.”h]”hŒUna lĆ­nea vacĆ­a.”…””}”(hjĢ h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M˜hjČ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjƒ ubjŖ)”}”(hŒfLas lĆ­neas ``Signed-off-by:``, descritas anteriormente, que tambiĆ©n vaya en el registro de cambios. ”h]”h¼)”}”(hŒeLas lĆ­neas ``Signed-off-by:``, descritas anteriormente, que tambiĆ©n vaya en el registro de cambios.”h]”(hŒ Las lĆ­neas ”…””}”(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ŒG, descritas anteriormente, que tambiĆ©n vaya en el registro de cambios.”…””}”(hjä h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mšhją ubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjƒ ubjŖ)”}”(hŒ9Una lĆ­nea de marcador que contiene simplemente ``---``. ”h]”h¼)”}”(hŒ8Una lĆ­nea de marcador que contiene simplemente ``---``.”h]”(hŒ0Una lĆ­nea de marcador que contiene simplemente ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ``---``”h]”hŒ---”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒ.”…””}”(hjh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjƒ ubjŖ)”}”(hŒPCualquier comentario adicional que no sea adecuado para el registro de cambios. ”h]”h¼)”}”(hŒOCualquier comentario adicional que no sea adecuado para el registro de cambios.”h]”hŒOCualquier comentario adicional que no sea adecuado para el registro de cambios.”…””}”(hj8h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MŸhj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjƒ ubjŖ)”}”(hŒ%El parche real (output de ``diff``). ”h]”h¼)”}”(hŒ$El parche real (output de ``diff``).”h]”(hŒEl parche real (output de ”…””}”(hjPh²hh³Nh“Nubjæ)”}”(hŒ``diff``”h]”hŒdiff”…””}”(hjXh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjPubhŒ).”…””}”(hjPh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M¢hjLubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjƒ ubeh}”(h]”h ]”h"]”h$]”h&]”j÷jųuh1j¤h³hģh“M‘hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hģh“M‘hj h²hubh¼)”}”(hX8El formato de la lĆ­nea de asunto hace que sea muy fĆ”cil ordenar los correos electrónicos alfabĆ©ticamente por lĆ­nea de asunto - prĆ”cticamente cualquier lector de correo electrónico permite esto, ya que debido a que el nĆŗmero de secuencia se rellena con ceros, el orden numĆ©rico y alfabĆ©tico es el mismo.”h]”hX8El formato de la lĆ­nea de asunto hace que sea muy fĆ”cil ordenar los correos electrónicos alfabĆ©ticamente por lĆ­nea de asunto - prĆ”cticamente cualquier lector de correo electrónico permite esto, ya que debido a que el nĆŗmero de secuencia se rellena con ceros, el orden numĆ©rico y alfabĆ©tico es el mismo.”…””}”(hj‚h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M¤hj h²hubh¼)”}”(hŒ‚El ``subsistema`` en el asunto del correo electrónico debe identificar quĆ© Ć”rea o subsistema del kernel estĆ” siendo parcheado.”h]”(hŒEl ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ``subsistema``”h]”hŒ subsistema”…””}”(hj˜h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒq en el asunto del correo electrónico debe identificar quĆ© Ć”rea o subsistema del kernel estĆ” siendo parcheado.”…””}”(hjh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M©hj h²hubh¼)”}”(hX†La ``frase de resumen`` en el Asunto del correo electrónico debe describir de forma concisa el parche que contiene ese correo electrónico. La ``frase resumen`` no debe ser un nombre de archivo. No use la mismo ``frase resumen`` para cada parche en una serie completa de parches (donde una `` serie de parches`` (patch series) es una secuencia ordenada de mĆŗltiples parches relacionados).”h]”(hŒLa ”…””}”(hj°h²hh³Nh“Nubjæ)”}”(hŒ``frase de resumen``”h]”hŒfrase de resumen”…””}”(hjøh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj°ubhŒy en el Asunto del correo electrónico debe describir de forma concisa el parche que contiene ese correo electrónico. La ”…””}”(hj°h²hh³Nh“Nubjæ)”}”(hŒ``frase resumen``”h]”hŒ frase resumen”…””}”(hjŹh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj°ubhŒ3 no debe ser un nombre de archivo. No use la mismo ”…””}”(hj°h²hh³Nh“Nubjæ)”}”(hŒ``frase resumen``”h]”hŒ frase resumen”…””}”(hjÜh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj°ubhŒ” para cada parche en una serie completa de parches (donde una `` serie de parches`` (patch series) es una secuencia ordenada de mĆŗltiples parches relacionados).”…””}”(hj°h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M¬hj h²hubh¼)”}”(hX^Tenga en cuenta que la ``frase de resumen`` de su correo electrónico se convierte en un identificador global Ćŗnico para ese parche. Se propaga por hasta el registro de cambios de ``git``. La ``frase resumida`` se puede usar mĆ”s adelante en discusiones de desarrolladores que se refieran al parche. La gente querrĆ” buscar en Google la ``frase de resumen`` para leer la discusión al respecto del parche. TambiĆ©n serĆ” lo Ćŗnico que la gente podrĆ” ver rĆ”pidamente cuando, dos o tres meses despuĆ©s, estĆ©n pasando por quizĆ”s miles de parches usando herramientas como ``gitk`` o ``git log --oneline``.”h]”(hŒTenga en cuenta que la ”…””}”(hjōh²hh³Nh“Nubjæ)”}”(hŒ``frase de resumen``”h]”hŒfrase de resumen”…””}”(hjüh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjōubhŒŠ de su correo electrónico se convierte en un identificador global Ćŗnico para ese parche. Se propaga por hasta el registro de cambios de ”…””}”(hjōh²hh³Nh“Nubjæ)”}”(hŒ``git``”h]”hŒgit”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjōubhŒ. La ”…””}”(hjōh²hh³Nh“Nubjæ)”}”(hŒ``frase resumida``”h]”hŒfrase resumida”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjōubhŒ se puede usar mĆ”s adelante en discusiones de desarrolladores que se refieran al parche. La gente querrĆ” buscar en Google la ”…””}”(hjōh²hh³Nh“Nubjæ)”}”(hŒ``frase de resumen``”h]”hŒfrase de resumen”…””}”(hj2h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjōubhŒ× para leer la discusión al respecto del parche. TambiĆ©n serĆ” lo Ćŗnico que la gente podrĆ” ver rĆ”pidamente cuando, dos o tres meses despuĆ©s, estĆ©n pasando por quizĆ”s miles de parches usando herramientas como ”…””}”(hjōh²hh³Nh“Nubjæ)”}”(hŒ``gitk``”h]”hŒgitk”…””}”(hjDh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjōubhŒ o ”…””}”(hjōh²hh³Nh“Nubjæ)”}”(hŒ``git log --oneline``”h]”hŒgit log --oneline”…””}”(hjVh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjōubhŒ.”…””}”(hjōh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M³hj h²hubh¼)”}”(hXPor estas razones, el ``resumen`` no debe tener mĆ”s de 70-75 caracteres, y debe describir tanto lo que cambia el parche como por quĆ© el parche podrĆ­a ser necesario. Es un reto ser tanto sucinto como descriptivo, pero eso es lo que un resumen bien escrito deberĆ­a hacer.”h]”(hŒPor estas razones, el ”…””}”(hjnh²hh³Nh“Nubjæ)”}”(hŒ ``resumen``”h]”hŒresumen”…””}”(hjvh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjnubhŒš no debe tener mĆ”s de 70-75 caracteres, y debe describir tanto lo que cambia el parche como por quĆ© el parche podrĆ­a ser necesario. Es un reto ser tanto sucinto como descriptivo, pero eso es lo que un resumen bien escrito deberĆ­a hacer.”…””}”(hjnh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M½hj h²hubh¼)”}”(hXÖLa ``frase de resumen`` puede estar precedida por etiquetas encerradas en corchetes: "Asunto: [PATCH ...] ". Las etiquetas no se consideran parte de la frase de resumen, pero describen cómo deberĆ­a ser tratado el parche. Las etiquetas comunes pueden incluir un descriptor de versión si las mĆŗltiples versiones del parche se han enviado en respuesta a comentarios (es decir, "v1, v2, v3") o "RFC" para indicar una solicitud de comentarios.”h]”(hŒLa ”…””}”(hjŽh²hh³Nh“Nubjæ)”}”(hŒ``frase de resumen``”h]”hŒfrase de resumen”…””}”(hj–h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŽubhXĖ puede estar precedida por etiquetas encerradas en corchetes: ā€œAsunto: [PATCH ...] ā€. Las etiquetas no se consideran parte de la frase de resumen, pero describen cómo deberĆ­a ser tratado el parche. Las etiquetas comunes pueden incluir un descriptor de versión si las mĆŗltiples versiones del parche se han enviado en respuesta a comentarios (es decir, ā€œv1, v2, v3ā€) o ā€œRFCā€ para indicar una solicitud de comentarios.”…””}”(hjŽh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MĀhj h²hubh¼)”}”(hXSi hay cuatro parches en una serie de parches, los parches individuales pueden enumerarse asĆ­: 1/4, 2/4, 3/4, 4/4. Esto asegura que los desarrolladores entiendan el orden en que se deben aplicar los parches y que han revisado o aplicado todos los parches de la serie de parches.”h]”hXSi hay cuatro parches en una serie de parches, los parches individuales pueden enumerarse asĆ­: 1/4, 2/4, 3/4, 4/4. Esto asegura que los desarrolladores entiendan el orden en que se deben aplicar los parches y que han revisado o aplicado todos los parches de la serie de parches.”…””}”(hj®h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MŹhj h²hubh¼)”}”(hŒ.AquĆ­ hay algunos buenos ejemplos de Asuntos::”h]”hŒ-AquĆ­ hay algunos buenos ejemplos de Asuntos:”…””}”(hj¼h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MĻhj h²hubj*)”}”(hXAsunto: [PATCH 2/5] ext2: mejorar la escalabilidad de la bĆŗsqueda de mapas de bits Asunto: [PATCH v2 27/01] x86: corregir el seguimiento de eflags Asunto: [PATCH v2] sub/sys: resumen conciso del parche Asunto: [PATCH v2 M/N] sub/sys: resumen conciso del parche”h]”hXAsunto: [PATCH 2/5] ext2: mejorar la escalabilidad de la bĆŗsqueda de mapas de bits Asunto: [PATCH v2 27/01] x86: corregir el seguimiento de eflags Asunto: [PATCH v2] sub/sys: resumen conciso del parche Asunto: [PATCH v2 M/N] sub/sys: resumen conciso del parche”…””}”hjŹsbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“MŃhj h²hubh¼)”}”(hŒZLa lĆ­nea ``from`` debe ser la primera lĆ­nea en el cuerpo del mensaje, y tiene la forma::”h]”(hŒ La lĆ­nea ”…””}”(hjŲh²hh³Nh“Nubjæ)”}”(hŒ``from``”h]”hŒfrom”…””}”(hjąh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŲubhŒG debe ser la primera lĆ­nea en el cuerpo del mensaje, y tiene la forma:”…””}”(hjŲh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MÖhj h²hubj*)”}”(hŒ*From: Autor del parche ”h]”hŒ*From: Autor del parche ”…””}”hjųsbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“MŁhj h²hubh¼)”}”(hXLa lĆ­nea ``From`` especifica quiĆ©n serĆ” acreditado como el autor del parche en el registro de cambios permanente. Si falta la lĆ­nea ``from``, entonces la lĆ­nea ``From:`` del encabezado del correo electrónico se usarĆ” para determinar el autor del parche en el registro de cambios.”h]”(hŒ La lĆ­nea ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ``From``”h]”hŒFrom”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒv especifica quiĆ©n serĆ” acreditado como el autor del parche en el registro de cambios permanente. Si falta la lĆ­nea ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ``from``”h]”hŒfrom”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒ, entonces la lĆ­nea ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ ``From:``”h]”hŒFrom:”…””}”(hj2h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒp del encabezado del correo electrónico se usarĆ” para determinar el autor del parche en el registro de cambios.”…””}”(hjh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MŪhj h²hubh¼)”}”(hXČLa explicación estarĆ” incluida en el commit del changelog permanente, por lo que deberĆ­a tener sentido para un lector competente que hace mucho tiempo ha olvidado los detalles de la discusión que podrĆ­an haber llevado a este parche. Incluidos los sĆ­ntomas del fallo que el parche trate (mensajes de registro del kernel, mensajes de oops, etc.) son especialmente Ćŗtiles para personas que podrĆ­an estar buscando en los registros de commits en busca de la aplicación del parche. El texto debe estar escrito con tal detalle que cuando se lea semanas, meses o incluso aƱos despuĆ©s, pueda dar al lector la información necesaria y detalles para comprender el razonamiento de **por quĆ©** se creó el parche.”h]”(hXØLa explicación estarĆ” incluida en el commit del changelog permanente, por lo que deberĆ­a tener sentido para un lector competente que hace mucho tiempo ha olvidado los detalles de la discusión que podrĆ­an haber llevado a este parche. Incluidos los sĆ­ntomas del fallo que el parche trate (mensajes de registro del kernel, mensajes de oops, etc.) son especialmente Ćŗtiles para personas que podrĆ­an estar buscando en los registros de commits en busca de la aplicación del parche. El texto debe estar escrito con tal detalle que cuando se lea semanas, meses o incluso aƱos despuĆ©s, pueda dar al lector la información necesaria y detalles para comprender el razonamiento de ”…””}”(hjJh²hh³Nh“NubjD)”}”(hŒ **por quĆ©**”h]”hŒpor quĆ©”…””}”(hjRh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jChjJubhŒ se creó el parche.”…””}”(hjJh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mąhj h²hubh¼)”}”(hX,Si un parche corrige una falla de compilación, puede que no sea necesario incluir _todos_ los errores de compilación; pero lo suficiente como para que sea probable que alguien que busque el parche puede encontrarlo. Como en la ``frase de resumen``, es importante ser tanto sucinto como descriptivo.”h]”(hŒåSi un parche corrige una falla de compilación, puede que no sea necesario incluir _todos_ los errores de compilación; pero lo suficiente como para que sea probable que alguien que busque el parche puede encontrarlo. Como en la ”…””}”(hjjh²hh³Nh“Nubjæ)”}”(hŒ``frase de resumen``”h]”hŒfrase de resumen”…””}”(hjrh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjjubhŒ3, es importante ser tanto sucinto como descriptivo.”…””}”(hjjh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mėhj h²hubh¼)”}”(hŒ›La lĆ­nea marcadora ``---`` cumple el propósito esencial de marcar para herramientas de manejo de parches donde termina el mensaje de registro de cambios.”h]”(hŒLa lĆ­nea marcadora ”…””}”(hjŠh²hh³Nh“Nubjæ)”}”(hŒ``---``”h]”hŒ---”…””}”(hj’h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŠubhŒ€ cumple el propósito esencial de marcar para herramientas de manejo de parches donde termina el mensaje de registro de cambios.”…””}”(hjŠh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mńhj h²hubh¼)”}”(hX|Un buen uso de los comentarios adicionales despuĆ©s del marcador ``---`` es para ``diffstat``, para mostrar quĆ© archivos han cambiado, y el nĆŗmero de lĆ­neas insertadas y eliminadas por archivo. Un ``diffstat`` es especialmente Ćŗtil en parches mĆ”s grandes. Si va a incluir un ``diffstat`` despuĆ©s del marcador ``---``, utilice las opciones ``diffstat`` ``-p 1 -w 70`` para que los nombres de archivo se enumeran desde la parte superior del Ć”rbol de fuentes del kernel y no use demasiado espacio horizontal (que encaje fĆ”cilmente en 80 columnas, tal vez con alguna indentación). (``git`` genera diffstats apropiados por defecto).”h]”(hŒAUn buen uso de los comentarios adicionales despuĆ©s del marcador ”…””}”(hjŖh²hh³Nh“Nubjæ)”}”(hŒ``---``”h]”hŒ---”…””}”(hj²h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŖubhŒ es para ”…””}”(hjŖh²hh³Nh“Nubjæ)”}”(hŒ ``diffstat``”h]”hŒdiffstat”…””}”(hjÄh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŖubhŒk, para mostrar quĆ© archivos han cambiado, y el nĆŗmero de lĆ­neas insertadas y eliminadas por archivo. Un ”…””}”(hjŖh²hh³Nh“Nubjæ)”}”(hŒ ``diffstat``”h]”hŒdiffstat”…””}”(hjÖh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŖubhŒD es especialmente Ćŗtil en parches mĆ”s grandes. Si va a incluir un ”…””}”(hjŖh²hh³Nh“Nubjæ)”}”(hŒ ``diffstat``”h]”hŒdiffstat”…””}”(hjčh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŖubhŒ despuĆ©s del marcador ”…””}”(hjŖh²hh³Nh“Nubjæ)”}”(hŒ``---``”h]”hŒ---”…””}”(hjśh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŖubhŒ, utilice las opciones ”…””}”(hjŖh²hh³Nh“Nubjæ)”}”(hŒ ``diffstat``”h]”hŒdiffstat”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŖubhŒ ”…””}”(hjŖh²hh³Nh“Nubjæ)”}”(hŒ``-p 1 -w 70``”h]”hŒ -p 1 -w 70”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŖubhŒ× para que los nombres de archivo se enumeran desde la parte superior del Ć”rbol de fuentes del kernel y no use demasiado espacio horizontal (que encaje fĆ”cilmente en 80 columnas, tal vez con alguna indentación). (”…””}”(hjŖh²hh³Nh“Nubjæ)”}”(hŒ``git``”h]”hŒgit”…””}”(hj0h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŖubhŒ* genera diffstats apropiados por defecto).”…””}”(hjŖh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mõhj h²hubh¼)”}”(hX1Otros comentarios relevantes solo en el momento o para el maintainer, pero no adecuados para el registro de cambios permanente, tambiĆ©n debe ir aquĆ­. Un buen ejemplo de tales comentarios podrĆ­a ser ``registros de cambios de parches`` que describen quĆ© ha cambiado entre la versión v1 y v2 del parche.”h]”(hŒÉOtros comentarios relevantes solo en el momento o para el maintainer, pero no adecuados para el registro de cambios permanente, tambiĆ©n debe ir aquĆ­. Un buen ejemplo de tales comentarios podrĆ­a ser ”…””}”(hjHh²hh³Nh“Nubjæ)”}”(hŒ#``registros de cambios de parches``”h]”hŒregistros de cambios de parches”…””}”(hjPh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjHubhŒE que describen quĆ© ha cambiado entre la versión v1 y v2 del parche.”…””}”(hjHh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M’hj h²hubh¼)”}”(hXĢPor favor, ponga esta información **despuĆ©s** de la lĆ­nea ``---`` que separa el registro de cambios del resto del parche. La información de la versión no forma parte del registro de cambios que se incluye con el Ć”rbol git. Es información adicional para los revisores. Si se coloca encima de la etiquetas de commit, necesita interacción manual para eliminarlo. Si esta debajo de la lĆ­nea de separación, se quita automĆ”ticamente al aplicar el parche::”h]”(hŒ#Por favor, ponga esta información ”…””}”(hjhh²hh³Nh“NubjD)”}”(hŒ **despuĆ©s**”h]”hŒdespuĆ©s”…””}”(hjph²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jChjhubhŒ de la lĆ­nea ”…””}”(hjhh²hh³Nh“Nubjæ)”}”(hŒ``---``”h]”hŒ---”…””}”(hj‚h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjhubhX‡ que separa el registro de cambios del resto del parche. La información de la versión no forma parte del registro de cambios que se incluye con el Ć”rbol git. Es información adicional para los revisores. Si se coloca encima de la etiquetas de commit, necesita interacción manual para eliminarlo. Si esta debajo de la lĆ­nea de separación, se quita automĆ”ticamente al aplicar el parche:”…””}”(hjhh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mhj h²hubj*)”}”(hŒÖ ... Signed-off-by: Autor --- V2 -> V3: función auxiliar redundante eliminada V1 -> V2: estilo de código limpio y comentarios de revisión abordados ruta/al/archivo | 5+++-- ...”h]”hŒÖ ... Signed-off-by: Autor --- V2 -> V3: función auxiliar redundante eliminada V1 -> V2: estilo de código limpio y comentarios de revisión abordados ruta/al/archivo | 5+++-- ...”…””}”hjšsbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“M hj h²hubh¼)”}”(hŒVRevise mĆ”s detalles sobre el formato de parche adecuado en las siguientes referencias”h]”hŒVRevise mĆ”s detalles sobre el formato de parche adecuado en las siguientes referencias”…””}”(hjØh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mhj h²hubjx)”}”(hŒ.. _sp_backtraces:”h]”h}”(h]”h ]”h"]”h$]”h&]”jƒŒ sp-backtraces”uh1jwh“M'hj h²hh³hģubj†)”}”(hhh]”(j‹)”}”(hŒ'Retrocesos en mensajes de confirmación”h]”hŒ'Retrocesos en mensajes de confirmación”…””}”(hjÄh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjĮh²hh³hģh“Mubh¼)”}”(hX”Los "backtraces" (deshacer el camino) ayuda a documentar la cadena de llamadas que conducen a un problema. Sin embargo, no todos los rastreos son Ćŗtiles. Por ejemplo, las tempranas cadenas de llamadas de inicio son Ćŗnicas y obvias. Sin embargo, al copiar la salida completa de dmesg textualmente, incluye información que distrae, como marcas de tiempo, listas de módulos, registro y volcados de pila.”h]”hX˜Los ā€œbacktracesā€ (deshacer el camino) ayuda a documentar la cadena de llamadas que conducen a un problema. Sin embargo, no todos los rastreos son Ćŗtiles. Por ejemplo, las tempranas cadenas de llamadas de inicio son Ćŗnicas y obvias. Sin embargo, al copiar la salida completa de dmesg textualmente, incluye información que distrae, como marcas de tiempo, listas de módulos, registro y volcados de pila.”…””}”(hjŅh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MhjĮh²hubh¼)”}”(hŒŻPor lo tanto, los backtraces mĆ”s Ćŗtiles deben contener los datos relevantes de la información vertida, lo que hace que sea mĆ”s fĆ”cil centrarse en el verdadero tema. Este es un ejemplo de un backtrace bien recortado::”h]”hŒÜPor lo tanto, los backtraces mĆ”s Ćŗtiles deben contener los datos relevantes de la información vertida, lo que hace que sea mĆ”s fĆ”cil centrarse en el verdadero tema. Este es un ejemplo de un backtrace bien recortado:”…””}”(hjąh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M&hjĮh²hubj*)”}”(hŒĪerror de acceso de MSR no verificado: WRMSR a 0xd51 (intentó escribir 0x0000000000000064) en rIP: 0xffffffffae059994 (native_write_msr+0x4/0x20) Rastreo de llamadas: mba_wrmsr update_domains rdtgroup_mkdir”h]”hŒĪerror de acceso de MSR no verificado: WRMSR a 0xd51 (intentó escribir 0x0000000000000064) en rIP: 0xffffffffae059994 (native_write_msr+0x4/0x20) Rastreo de llamadas: mba_wrmsr update_domains rdtgroup_mkdir”…””}”hjīsbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“M+hjĮh²hubjx)”}”(hŒ.. _sp_explicit_in_reply_to:”h]”h}”(h]”h ]”h"]”h$]”h&]”jƒŒsp-explicit-in-reply-to”uh1jwh“M?hjĮh²hh³hģubeh}”(h]”(Œ&retrocesos-en-mensajes-de-confirmacion”jĄeh ]”h"]”(Œ'retrocesos en mensajes de confirmación”Œ sp_backtraces”eh$]”h&]”uh1j…hj h²hh³hģh“Mj‘}”j j¶sj“}”jĄj¶subeh}”(h]”(Œformato-de-parche-canonico”j eh ]”h"]”(Œformato de parche canónico”Œsp_the_canonical_patch_format”eh$]”h&]”uh1j…hj‡h²hh³hģh“Mƒj‘}”jj÷ sj“}”j j÷ subj†)”}”(hhh]”(j‹)”}”(hŒ'In-Reply-To explicitos en las cabeceras”h]”hŒ'In-Reply-To explicitos en las cabeceras”…””}”(hj h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjh²hh³hģh“M5ubh¼)”}”(hX Puede ser Ćŗtil agregar manualmente encabezados In-Reply-To: a un parche (por ejemplo, al usar ``git send-email``) para asociar el parche con una discusión anterior relevante, por ejemplo para vincular una corrección de errores al correo electrónico con el informe de errores. Sin embargo, para una serie de parches mĆŗltiples, generalmente es mejor evitar usar In-Reply-To: para vincular a versiones anteriores de la serie. De esta forma, varias versiones del parche no se convierten en un inmanejable bosque de referencias en clientes de correo electrónico. Si un enlace es Ćŗtil, puede usar el redirector https://lore.kernel.org/ (por ejemplo, en el texto de la carta de introducción del correo electrónico) para vincular a una versión anterior de la serie de parches.”h]”(hŒ_Puede ser Ćŗtil agregar manualmente encabezados In-Reply-To: a un parche (por ejemplo, al usar ”…””}”(hj.h²hh³Nh“Nubjæ)”}”(hŒ``git send-email``”h]”hŒgit send-email”…””}”(hj6h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj.ubhXó) para asociar el parche con una discusión anterior relevante, por ejemplo para vincular una corrección de errores al correo electrónico con el informe de errores. Sin embargo, para una serie de parches mĆŗltiples, generalmente es mejor evitar usar In-Reply-To: para vincular a versiones anteriores de la serie. De esta forma, varias versiones del parche no se convierten en un inmanejable bosque de referencias en clientes de correo electrónico. Si un enlace es Ćŗtil, puede usar el redirector ”…””}”(hj.h²hh³Nh“NubjJ)”}”(hŒhttps://lore.kernel.org/”h]”hŒhttps://lore.kernel.org/”…””}”(hjHh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jJuh1jIhj.ubhŒŽ (por ejemplo, en el texto de la carta de introducción del correo electrónico) para vincular a una versión anterior de la serie de parches.”…””}”(hj.h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M7hjh²hubeh}”(h]”(Œ'in-reply-to-explicitos-en-las-cabeceras”jeh ]”h"]”(Œ'in-reply-to explicitos en las cabeceras”Œsp_explicit_in_reply_to”eh$]”h&]”uh1j…hj‡h²hh³hģh“M5j‘}”jgjüsj“}”jjüsubj†)”}”(hhh]”(j‹)”}”(hŒ(Proporcionar información de Ć”rbol base”h]”hŒ(Proporcionar información de Ć”rbol base”…””}”(hjoh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjlh²hh³hģh“MEubh¼)”}”(hX}Cuando otros desarrolladores reciben sus parches y comienzan el proceso de revisión, a menudo es Ćŗtil para ellos saber en quĆ© parte del historial del Ć”rbol deben colocar su trabajo. Esto es particularmente Ćŗtil para CI automatizado de procesos que intentan ejecutar una serie de pruebas para establecer la calidad de su envĆ­o antes de que el maintainer comience la revisión.”h]”hX}Cuando otros desarrolladores reciben sus parches y comienzan el proceso de revisión, a menudo es Ćŗtil para ellos saber en quĆ© parte del historial del Ć”rbol deben colocar su trabajo. Esto es particularmente Ćŗtil para CI automatizado de procesos que intentan ejecutar una serie de pruebas para establecer la calidad de su envĆ­o antes de que el maintainer comience la revisión.”…””}”(hj}h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MGhjlh²hubh¼)”}”(hXSi estĆ” utilizando ``git format-patch`` para generar sus parches, puede incluir automĆ”ticamente la información del Ć”rbol base en su envĆ­o usando el parĆ”metro ``--base``. La forma mĆ”s fĆ”cil y conveniente de usar esta opción es con "topical branches" (ramas de temas)::”h]”(hŒSi estĆ” utilizando ”…””}”(hj‹h²hh³Nh“Nubjæ)”}”(hŒ``git format-patch``”h]”hŒgit format-patch”…””}”(hj“h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‹ubhŒ| para generar sus parches, puede incluir automĆ”ticamente la información del Ć”rbol base en su envĆ­o usando el parĆ”metro ”…””}”(hj‹h²hh³Nh“Nubjæ)”}”(hŒ ``--base``”h]”hŒ--base”…””}”(hj„h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‹ubhŒi. La forma mĆ”s fĆ”cil y conveniente de usar esta opción es con ā€œtopical branchesā€ (ramas de temas):”…””}”(hj‹h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MNhjlh²hubj*)”}”(hXQ$ 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' [realice sus cambios y ediciones] $ git format-patch --base=auto --cover-letter -o outgoing/ master outgoing/0000-cover-letter.patch outgoing/0001-First-Commit.patch outgoing/...”h]”hXQ$ 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' [realice sus cambios y ediciones] $ git format-patch --base=auto --cover-letter -o outgoing/ master outgoing/0000-cover-letter.patch outgoing/0001-First-Commit.patch outgoing/...”…””}”hj½sbah}”(h]”h ]”h"]”h$]”h&]”j9j:uh1j)h³hģh“MShjlh²hubh¼)”}”(hXCuando abra ``outgoing/0000-cover-letter.patch`` para editar, tenga en cuenta que tendrĆ” el trĆ”iler ``base-commit:`` al final, que proporciona al revisor y a las herramientas de CI suficiente información para realizar correctamente ``git am`` sin preocuparse por los conflictos::”h]”(hŒ Cuando abra ”…””}”(hjĖh²hh³Nh“Nubjæ)”}”(hŒ$``outgoing/0000-cover-letter.patch``”h]”hŒ outgoing/0000-cover-letter.patch”…””}”(hjÓh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjĖubhŒ6 para editar, tenga en cuenta que tendrĆ” el trĆ”iler ”…””}”(hjĖh²hh³Nh“Nubjæ)”}”(hŒ``base-commit:``”h]”hŒ base-commit:”…””}”(hjåh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjĖubhŒu al final, que proporciona al revisor y a las herramientas de CI suficiente información para realizar correctamente ”…””}”(hjĖh²hh³Nh“Nubjæ)”}”(hŒ ``git am``”h]”hŒgit am”…””}”(hj÷h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjĖubhŒ$ sin preocuparse por los conflictos:”…””}”(hjĖh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M^hjlh²hubj*)”}”(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&]”j9j:uh1j)h³hģh“Mchjlh²hubh¼)”}”(hŒ]Consulte ``man git-format-patch`` para obtener mĆ”s información al respecto de esta opción.”h]”(hŒ Consulte ”…””}”(hjh²hh³Nh“Nubjæ)”}”(hŒ``man git-format-patch``”h]”hŒman git-format-patch”…””}”(hj%h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubhŒ< para obtener mĆ”s información al respecto de esta opción.”…””}”(hjh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mihjlh²hubhŒnote”“”)”}”(hŒ@La función ``--base`` se introdujo en la versión 2.9.0 de git.”h]”h¼)”}”(hjAh]”(hŒ La función ”…””}”(hjCh²hh³Nh“Nubjæ)”}”(hŒ ``--base``”h]”hŒ--base”…””}”(hjJh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjCubhŒ* se introdujo en la versión 2.9.0 de git.”…””}”(hjCh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mnhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjlh²hh³hģh“Nubh¼)”}”(hXSi no estĆ” utilizando git para dar forma a sus parches, aĆŗn puede incluir el mismo trĆ”iler ``base-commit`` para indicar el hash de confirmación del Ć”rbol en que se basa su trabajo. Debe agregarlo en la carta de presentación o en el primer parche de la serie y debe colocarse ya sea bajo la lĆ­nea ``---`` o en la parte inferior de todos los demĆ”s contenido, justo antes de su firma del correo electrónico.”h]”(hŒ^Si no estĆ” utilizando git para dar forma a sus parches, aĆŗn puede incluir el mismo trĆ”iler ”…””}”(hjhh²hh³Nh“Nubjæ)”}”(hŒ``base-commit``”h]”hŒ base-commit”…””}”(hjph²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjhubhŒĀ para indicar el hash de confirmación del Ć”rbol en que se basa su trabajo. Debe agregarlo en la carta de presentación o en el primer parche de la serie y debe colocarse ya sea bajo la lĆ­nea ”…””}”(hjhh²hh³Nh“Nubjæ)”}”(hŒ``---``”h]”hŒ---”…””}”(hj‚h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjhubhŒg o en la parte inferior de todos los demĆ”s contenido, justo antes de su firma del correo electrónico.”…””}”(hjhh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mphjlh²hubeh}”(h]”Œ&proporcionar-informacion-de-arbol-base”ah ]”h"]”Œ(proporcionar información de Ć”rbol base”ah$]”h&]”uh1j…hj‡h²hh³hģh“MEubj†)”}”(hhh]”(j‹)”}”(hŒ Referencias”h]”hŒ Referencias”…””}”(hj„h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj¢h²hh³hģh“Myubj…)”}”(hhh]”(jŠ)”}”(hŒZ"The perfect patch" (tpp) por Andrew Morton. ”h]”(j)”}”(hŒ,"The perfect patch" (tpp) por Andrew Morton.”h]”hŒ0ā€œThe perfect patchā€ (tpp) por Andrew Morton.”…””}”(hjŗh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hģh“M|hj¶ubj )”}”(hhh]”h¼)”}”(hŒ,”h]”(hŒ<”…””}”(hjĖh²hh³Nh“NubjJ)”}”(hŒ*https://www.ozlabs.org/~akpm/stuff/tpp.txt”h]”hŒ*https://www.ozlabs.org/~akpm/stuff/tpp.txt”…””}”(hjÓh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jÕuh1jIhjĖubhŒ>”…””}”(hjĖh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M|hjČubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸhj¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‰h³hģh“M|hj³ubjŠ)”}”(hŒ‹"Linux kernel patch submission format" por Jeff Garzik. ”h]”(j)”}”(hŒ7"Linux kernel patch submission format" por Jeff Garzik.”h]”hŒ;ā€œLinux kernel patch submission formatā€ por Jeff Garzik.”…””}”(hjüh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hģh“Mhjųubj )”}”(hhh]”h¼)”}”(hŒR”h]”(hŒ<”…””}”(hj h²hh³Nh“NubjJ)”}”(hŒPhttps://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html”h]”hŒPhttps://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”juh1jIhj ubhŒ>”…””}”(hj h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“Mhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸhjųubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‰h³hģh“Mhj³h²hubjŠ)”}”(hX‚"How to piss off a kernel subsystem maintainer" por Greg Kroah-Hartman. ”h]”(j)”}”(hŒG"How to piss off a kernel subsystem maintainer" por Greg Kroah-Hartman.”h]”hŒKā€œHow to piss off a kernel subsystem maintainerā€ por Greg Kroah-Hartman.”…””}”(hj>h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hģh“MŒhj:ubj )”}”(hhh]”(h¼)”}”(hŒ0”h]”(hŒ<”…””}”(hjOh²hh³Nh“NubjJ)”}”(hŒ.http://www.kroah.com/log/linux/maintainer.html”h]”hŒ.http://www.kroah.com/log/linux/maintainer.html”…””}”(hjWh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jYuh1jIhjOubhŒ>”…””}”(hjOh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M‚hjLubh¼)”}”(hŒ3”h]”(hŒ<”…””}”(hjph²hh³Nh“NubjJ)”}”(hŒ1http://www.kroah.com/log/linux/maintainer-02.html”h]”hŒ1http://www.kroah.com/log/linux/maintainer-02.html”…””}”(hjxh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jzuh1jIhjpubhŒ>”…””}”(hjph²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M„hjLubh¼)”}”(hŒ3”h]”(hŒ<”…””}”(hj‘h²hh³Nh“NubjJ)”}”(hŒ1http://www.kroah.com/log/linux/maintainer-03.html”h]”hŒ1http://www.kroah.com/log/linux/maintainer-03.html”…””}”(hj™h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j›uh1jIhj‘ubhŒ>”…””}”(hj‘h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M†hjLubh¼)”}”(hŒ3”h]”(hŒ<”…””}”(hj²h²hh³Nh“NubjJ)”}”(hŒ1http://www.kroah.com/log/linux/maintainer-04.html”h]”hŒ1http://www.kroah.com/log/linux/maintainer-04.html”…””}”(hjŗh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j¼uh1jIhj²ubhŒ>”…””}”(hj²h²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MˆhjLubh¼)”}”(hŒ3”h]”(hŒ<”…””}”(hjÓh²hh³Nh“NubjJ)”}”(hŒ1http://www.kroah.com/log/linux/maintainer-05.html”h]”hŒ1http://www.kroah.com/log/linux/maintainer-05.html”…””}”(hjŪh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jŻuh1jIhjÓubhŒ>”…””}”(hjÓh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MŠhjLubh¼)”}”(hŒ3”h]”(hŒ<”…””}”(hjōh²hh³Nh“NubjJ)”}”(hŒ1http://www.kroah.com/log/linux/maintainer-06.html”h]”hŒ1http://www.kroah.com/log/linux/maintainer-06.html”…””}”(hjüh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jžuh1jIhjōubhŒ>”…””}”(hjōh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“MŒhjLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŸhj:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‰h³hģh“MŒhj³h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¢h²hh³hģh“Nubh¼)”}”(hŒ-Kernel Documentation/process/coding-style.rst”h]”hŒ-Kernel Documentation/process/coding-style.rst”…””}”(hj'h²hh³Nh“Nubah}”(h]”h ]”h"•E]”h$]”h&]”uh1h»h³hģh“MŽhj¢h²hubj…)”}”(hhh]”(jŠ)”}”(hŒEmail de Linus Torvalds sobre la forma canónica de los parches: ”h]”(j)”}”(hŒ@Email de Linus Torvalds sobre la forma canónica de los parches:”h]”hŒ@Email de Linus Torvalds sobre la forma canónica de los parches:”…””}”(hj<h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hģh“M‘hj8ubj )”}”(hhh]”h¼)”}”(hŒM”h]”(hŒ<”…””}”(hjMh²hh³Nh“NubjJ)”}”(hŒKhttps://lore.kernel.org/r/Pine.LNX.4.58.0504071023190.28951@ppc970.osdl.org”h]”hŒKhttps://lore.kernel.org/r/Pine.LNX.4.58.0504071023190.28951@ppc970.osdl.org”…””}”(hjUh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jWuh1jIhjMubhŒ>”…””}”(hjMh²hh³Nh“Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M‘hjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸhj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‰h³hģh“M‘hj5ubjŠ)”}”(hŒ­"On submitting kernel patches" por Andi Kleen Algunas estrategias para conseguir incluir cambios complicados o controvertidos. http://halobates.de/on-submitting-patches.pdf”h]”(j)”}”(hŒ-"On submitting kernel patches" por Andi Kleen”h]”hŒ1ā€œOn submitting kernel patchesā€ por Andi Kleen”…””}”(hj~h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hģh“M–hjzubj )”}”(hhh]”(h¼)”}”(hŒPAlgunas estrategias para conseguir incluir cambios complicados o controvertidos.”h]”hŒPAlgunas estrategias para conseguir incluir cambios complicados o controvertidos.”…””}”(hjh²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M”hjŒubh¼)”}”(hŒ-http://halobates.de/on-submitting-patches.pdf”h]”jJ)”}”(hjŸh]”hŒ-http://halobates.de/on-submitting-patches.pdf”…””}”(hj”h²hh³Nh“Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jŸuh1jIhjubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hģh“M—hjŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŸhjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‰h³hģh“M–hj5h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¢h²hh³hģh“Nubeh}”(h]”Œ referencias”ah ]”h"]”Œ referencias”ah$]”h&]”uh1j…hj‡h²hh³hģh“Myubeh}”(h]”(ŒEenvio-de-parches-la-guia-esencial-para-incluir-su-codigo-en-el-kernel”j„eh ]”h"]”(ŒIenvĆ­o de parches: la guĆ­a esencial para incluir su código en el kernel”Œsp_submittingpatches”eh$]”h&]”uh1j…hhh²hh³hģh“K j‘}”jÕjysj“}”j„jysubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hģuh1hŒ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”jżŒ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”hģŒ _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„]”jyajg]”j]aj‡]”j}aj†]”j|aj ]”j aj ]”j÷ ajĄ]”j¶aj]”jüauŒnameids”}”(jÕj„jŌjŃjmjjjŽjgjjŠjDj‡jCj@jjj:j7jjjŒj‰j j†j j jw j jv js j¼ j¹ j j j j jä jį j j j j jj jjj jĄj j jgjjfjcjŸjœjĢjÉuŒ nametypes”}”(jÕˆjŌ‰jm‰jŽˆj‰jDˆjC‰j‰j:‰j‰jŒ‰j ˆj ‰jw ˆjv ‰j¼ ‰j ‰j ‰jä ‰j ‰j ‰jˆj‰j ˆj ‰jgˆjf‰jŸ‰j̉uh}”(j„j‡jŃj‡jjjųjgjpjŠjpj‡j•j@j•jjIj7j!jj=j‰j j†jj jj j js j j¹ j| j jæ j jģ jį j j jē j j" j j jj jĄjĮj jĮjjjcjjœjljÉ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Œ:Hyperlink target "sp-submittingpatches" is not referenced.”…””}”hjnsbah}”(h]”h ]”h"]”h$]”h&]”uh1h»hjkubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hģŒline”Kuh1jiubjj)”}”(hhh]”h¼)”}”(hhh]”hŒ9Hyperlink target "sp-describe-changes" is not referenced.”…””}”hj‰sbah}”(h]”h ]”h"]”h$]”h&]”uh1h»hj†ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jƒŒsource”hģŒline”K@uh1jiubjj)”}”(hhh]”h¼)”}”(hhh]”hŒ6Hyperlink target "sp-split-changes" is not referenced.”…””}”hj£sbah}”(h]”h ]”h"]”h$]”h&]”uh1h»hj ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jƒŒsource”hģŒline”K¾uh1jiubjj)”}”(hhh]”h¼)”}”(hhh]”hŒ