€•5Œ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 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”hòŒ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”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhjhŸhŰh KubhÚ)”}”(hŒ.Carlos Bilbao ”h]”hš)”}”(hŒ-Carlos Bilbao ”h]”(hŒCarlos Bilbao <”…””}”(hj-hžhhŸNh NubhŒ reference”“”)”}”(hŒcarlos.bilbao.osdev@gmail.com”h]”hŒcarlos.bilbao.osdev@gmail.com”…””}”(hj7hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ$mailto:carlos.bilbao.osdev@gmail.com”uh1j5hj-ubhŒ>”…””}”(hj-hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Khj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙhjubeh}”(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”uh1jch 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”…””}”(hjxhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjshž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 hjshž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 Khjshž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 Khjshžhubhš)”}”(hŒŰAlgunos subsistemas y ĂĄrboles de mantenimiento cuentan con informaciĂłn adicional sobre su flujo de trabajo y expectativas, consulte :ref:`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 ”…””}”(hjÖhžhhŸNh Nubh)”}”(hŒQ:ref:`Documentation/process/maintainer-handbooks.rst `”h]”hæ)”}”(hjàh]”hŒ.Documentation/process/maintainer-handbooks.rst”…””}”(hjâhžhhŸNh Nubah}”(h]”h ]”(hńŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hćhjȚubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hțŒ refdomain”jìŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒmaintainer_handbooks_main”uh1hhŸhŰh KhjÖubhŒ.”…””}”(hjÖhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Khjshžhubjr)”}”(hhh]”(jw)”}”(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&]”uh1jvhjhž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 ”…””}”(hjhžhhŸNh Nubj«)”}”(hŒ``git``”h]”hŒgit”…””}”(hj!hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjubhŒ] para obtener uno. QuerrĂĄ comenzar con el repositorio principal, que se puede descargar con:”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh K&hjhž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”uh1j9hŸhŰh K*hjhž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 ”…””}”(hjKhžhhŸNh NubhŒstrong”“”)”}”(hŒ**T:**”h]”hŒT:”…””}”(hjUhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjKubhŒ” para el subsistema en el archivo MAINTAINERS para encontrar dicho ĂĄrbol, o simplemente pregunte al maintainer si el ĂĄrbol no estĂĄ listado allĂ­.”…””}”(hjKhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh K,hjhžhubjd)”}”(hŒ.. _sp_describe_changes:”h]”h}”(h]”h ]”h"]”h$]”h&]”joŒsp-describe-changes”uh1jch K@hjhžhhŸhŰubeh}”(h]”Œobtenga-el-codigo-fuente-actual”ah ]”h"]”Œ obtenga el cĂłdigo fuente actual”ah$]”h&]”uh1jqhjshžhhŸhŰh K$ubjr)”}”(hhh]”(jw)”}”(hŒDescriba sus cambios”h]”hŒDescriba sus cambios”…””}”(hjƒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj€hž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 K8hj€hž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>hj€hž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 KJhj€hž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 KShj€hž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 ]”(hńŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hćhjăubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hțŒ 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 KXhj€hž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”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(hńŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hćhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hțŒ 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]hj€hž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 Kahj€hž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.”…””}”(hjMhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Kkhj€hž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:”…””}”(hj[hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Kphj€hž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.”…””}”hjisbah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸhŰh Kvhj€hž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 ”…””}”(hjwhžhhŸNh NubhŒemphasis”“”)”}”(hŒ*muchos*”h]”hŒmuchos”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjwubhŒđ 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.”…””}”(hjwhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Kzhj€hž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hj€hž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‰hj€hž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&]”jIjJuh1j9hŸhŰh Khj€hž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‘hj€hž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”hj€hž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™hj€hž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&]”jIjJuh1j9hŸhŰh K hj€hž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”…””}”(hj'hž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”…””}”(hj9hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjubhŒ o ”…””}”(hjhžhhŸNh Nubj«)”}”(hŒ ``git show``”h]”hŒgit show”…””}”(hjKhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjubhŒ:”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh KŁhj€hžhubj:)”}”(hŒF[core] abbrev = 12 [pretty] fixes = Fixes: %h (\"%s\")”h]”hŒF[core] abbrev = 12 [pretty] fixes = Fixes: %h (\"%s\")”…””}”hjcsbah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸhŰh K§hj€hžhubhš)”}”(hŒUn ejemplo de uso::”h]”hŒUn ejemplo de uso:”…””}”(hjqhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh KŹhj€hž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Ăł")”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸhŰh Kźhj€hžhubjd)”}”(hŒ.. _sp_split_changes:”h]”h}”(h]”h ]”h"]”h$]”h&]”joŒsp-split-changes”uh1jch KŸhj€hžhhŸhŰubeh}”(h]”(Œdescriba-sus-cambios”jweh ]”h"]”(Œdescriba sus cambios”Œsp_describe_changes”eh$]”h&]”uh1jqhjshžhhŸhŰh K6Œexpect_referenced_by_name”}”jžjmsŒexpect_referenced_by_id”}”jwjmsubjr)”}”(hhh]”(jw)”}”(hŒSepare sus cambios”h]”hŒSepare sus cambios”…””}”(hjšhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj„hžhhŸhŰh KŽubhš)”}”(hŒ5Separe cada **cambio lĂłgico** en un parche separado.”h]”(hŒ Separe cada ”…””}”(hj¶hžhhŸNh NubjT)”}”(hŒ**cambio lĂłgico**”h]”hŒcambio lĂłgico”…””}”(hjŸhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¶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 ”…””}”(hjhžhhŸNh NubjT)”}”(hŒ&**"este parche depende del parche X"**”h]”hŒ&“este parche depende del parche X””…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubhŒ! en la descripciĂłn de su parche.”…””}”(hjhž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 ”…””}”(hj hžhhŸNh Nubj«)”}”(hŒ``git bisect``”h]”hŒ git bisect”…””}”(hj(hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhj ubhŒ‘ para rastrear un problema pueden terminar dividiendo su serie de parches en cualquier punto; no le agradecerĂĄn si introdujo errores a la mitad.”…””}”(hj hž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.”…””}”(hj@hž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&]”uh1jqhjshžhhŸhŰh KŽjĄ}”jTjsjŁ}”j—jsubjr)”}”(hhh]”(jw)”}”(hŒRevise el estilo en sus cambios”h]”hŒRevise el estilo en sus cambios”…””}”(hj\hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjYhž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.”…””}”(hjjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh KŚhjYhž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Ă­.”…””}”(hjxhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh KÜhjYhž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.”…””}”(hj†hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh KâhjYhž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”hjYhž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.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh KíhjYhžhubeh}”(h]”Œrevise-el-estilo-en-sus-cambios”ah ]”h"]”Œrevise el estilo en sus cambios”ah$]”h&]”uh1jqhjshžhhŸhŰh KŐubjr)”}”(hhh]”(jw)”}”(hŒ)Seleccione los destinatarios de su parche”h]”hŒ)Seleccione los destinatarios de su parche”…””}”(hj4hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj1hž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 (”…””}”(hjBhžhhŸNh Nubj6)”}”(hŒakpm@linux-foundation.org”h]”hŒakpm@linux-foundation.org”…””}”(hjJhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ mailto:akpm@linux-foundation.org”uh1j5hjBubhŒ+) sirve como maintainer de Ășltimo recurso.”…””}”(hjBhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Kóhj1hž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. ”…””}”(hjdhžhhŸNh Nubj6)”}”(hŒlinux-kernel@vger.kernel.org”h]”hŒlinux-kernel@vger.kernel.org”…””}”(hjlhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ#mailto:linux-kernel@vger.kernel.org”uh1j5hjdubhXG 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.”…””}”(hjdhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Kühj1hž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 ”…””}”(hj†hžhhŸNh Nubj6)”}”(hŒhttps://subspace.kernel.org”h]”hŒhttps://subspace.kernel.org”…””}”(hjŽhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”juh1j5hj†ubhŒS. Existen listas relacionadas con el kernel alojadas en otros lugares, no obstante.”…””}”(hj†hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Mhj1hž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 hj1hž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 Nubj6)”}”(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”uh1j5hj”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 hj1hž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 Nubj6)”}”(hŒsecurity@kernel.org”h]”hŒsecurity@kernel.org”…””}”(hjßhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:security@kernel.org”uh1j5hjŚ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 Mhj1hž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 Mhj1hžhubj:)”}”(hŒCC: stable@vger.kernel.org”h]”hŒCC: stable@vger.kernel.org”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸhŰh Mhj1hž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 Mhj1hž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 ”…””}”(hj#hžhhŸNh Nubj6)”}”(hŒlinux-api@vger.kernel.org”h]”hŒlinux-api@vger.kernel.org”…””}”(hj+hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ mailto:linux-api@vger.kernel.org”uh1j5hj#ubhŒ.”…””}”(hj#hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh M"hj1hžhubeh}”(h]”Œ)seleccione-los-destinatarios-de-su-parche”ah ]”h"]”Œ)seleccione los destinatarios de su parche”ah$]”h&]”uh1jqhjshžhhŸhŰh Kńubjr)”}”(hhh]”(jw)”}”(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”…””}”(hjPhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjMhž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.”…””}”(hj^hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh M-hjMhž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 ”…””}”(hjlhžhhŸNh Nubj«)”}”(hŒ``git send-email``”h]”hŒgit send-email”…””}”(hjthžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjlubhŒ8, que es muy recomendable. Un tutorial interactivo para ”…””}”(hjlhžhhŸNh Nubj«)”}”(hŒ``git send-email``”h]”hŒgit send-email”…””}”(hj†hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjlubhŒ estĂĄ disponible en ”…””}”(hjlhžhhŸNh Nubj6)”}”(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šuh1j5hjlubhŒ.”…””}”(hjlhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh M3hjMhž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 M8hjMhž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ĄhjMhž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?hjMhž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 MFhjMhž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.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MIhjMhž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&]”uh1jqhjshžhhŸhŰh M+ubjr)”}”(hhh]”(jw)”}”(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&]”uh1jvhjhž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.”…””}”(hj,hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MPhjhž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”…””}”(hjBhž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æ)”}”(hjVh]”hŒsp_the_canonical_patch_format”…””}”(hjXhžhhŸNh Nubah}”(h]”h ]”(hńŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hćhjTubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hțŒ refdomain”jbŒ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 MYhjhž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.”…””}”(hj~hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Mchjhžhubjd)”}”(hŒ.. _sp_interleaved_replies:”h]”h}”(h]”h ]”h"]”h$]”h&]”joŒsp-interleaved-replies”uh1jch MthjhžhhŸhŰubeh}”(h]”Œ&responda-a-los-comentarios-de-revision”ah ]”h"]”Œ'responda a los comentarios de revisiĂłn”ah$]”h&]”uh1jqhjshžhhŸhŰh MNubjr)”}”(hhh]”(jw)”}”(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&]”uh1jvhjŸ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 Nubj6)”}”(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șuh1j5hj°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&]”jIjJuh1j9hŸ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 Nubj6)”}”(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óuh1j5hjé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&]”jIjJuh1j9hŸhŰh M€hjŸhžhubjd)”}”(hŒ.. _sp_resend_reminders:”h]”h}”(h]”h ]”h"]”h$]”h&]”joŒsp-resend-reminders”uh1jch 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&]”uh1jqhjshžhhŸhŰh MjjĄ}”j% jŒsjŁ}”j–jŒsubjr)”}”(hhh]”(jw)”}”(hŒNo se desanime o impaciente”h]”hŒNo se desanime o impaciente”…””}”(hj- hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj* 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”.”…””}”(hjI 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:”…””}”(hjW 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”…””}”hje sbah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸ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.”…””}”(hjs 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&]”uh1jqhjshžhhŸhŰh M†jĄ}”j‡ j sjŁ}”j j subjr)”}”(hhh]”(jw)”}”(hŒIncluya PATCH en el asunto”h]”hŒIncluya PATCH en el asunto”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjŒ 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&]”uh1jqhjshžhhŸhŰh M ubjr)”}”(hhh]”(jw)”}”(hŒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jčhj# ubjș)”}”(hŒ‚La contribuciĂłn me fue proporcionada directamente por alguna otra persona que certificĂł (a), (b) o (c) y no he modificado esto. ”h]”hš)”}”(hŒLa contribuciĂłn me fue proporcionada directamente por alguna otra persona que certificĂł (a), (b) o (c) y no he modificado esto.”h]”hŒLa contribuciĂłn me fue proporcionada directamente por alguna otra persona que certificĂł (a), (b) o (c) y no he modificado esto.”…””}”(hjZ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MÈhjV ubah}”(h]”h ]”h"]”h$]”h&]”uh1jčhj# ubjș)”}”(hXPEntiendo y acepto que este proyecto y la contribuciĂłn son pĂșblicos y que un registro de la contribuciĂłn (incluyendo toda la informaciĂłn personal que envĂ­o con Ă©l, incluida mi firma) es mantenida indefinidamente y puede ser redistribuida de manera consistente con este proyecto o la(s) licencia(s) de cĂłdigo abierto involucradas. ”h]”hš)”}”(hXOEntiendo y acepto que este proyecto y la contribuciĂłn son pĂșblicos y que un registro de la contribuciĂłn (incluyendo toda la informaciĂłn personal que envĂ­o con Ă©l, incluida mi firma) es mantenida indefinidamente y puede ser redistribuida de manera consistente con este proyecto o la(s) licencia(s) de cĂłdigo abierto involucradas.”h]”hXOEntiendo y acepto que este proyecto y la contribuciĂłn son pĂșblicos y que un registro de la contribuciĂłn (incluyendo toda la informaciĂłn personal que envĂ­o con Ă©l, incluida mi firma) es mantenida indefinidamente y puede ser redistribuida de manera consistente con este proyecto o la(s) licencia(s) de cĂłdigo abierto involucradas.”…””}”(hjr hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MÌhjn ubah}”(h]”h ]”h"]”h$]”h&]”uh1jčhj# ubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œ loweralpha”Œprefix”Œ(”Œsuffix”Œ)”uh1j! hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hŸhŰh MŒhjü hžhubhš)”}”(hŒ2entonces simplemente incluya una lĂ­nea que rece::”h]”hŒ1entonces simplemente incluya una lĂ­nea que rece:”…””}”(hj˜ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MÓhjü hžhubj:)”}”(hŒ@Signed-off-by: Random J Developer ”h]”hŒ@Signed-off-by: Random J Developer ”…””}”hjŠ sbah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸ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 NubjT)”}”(hŒ**real**”h]”hŒreal”…””}”(hjü hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjô 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&]”uh1jqhjÏ 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&]”jIjJuh1j9hŸ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&]”jIjJuh1j9hŸ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&]”uh1jqhjshžhhŸhŰh Méubjr)”}”(hhh]”(jw)”}”(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&]”uh1jvhjś 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žhubjr)”}”(hhh]”(jw)”}”(hŒ(DeclaraciĂłn de SupervisiĂłn del Revisor”h]”hŒ(DeclaraciĂłn de SupervisiĂłn del Revisor”…””}”(hj5 hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj2 hžhhŸhŰh MCubhš)”}”(hŒ0Al ofrecer mi etiqueta Reviewed-by:, afirmo que:”h]”hŒ0Al ofrecer mi etiqueta Reviewed-by:, afirmo que:”…””}”(hjC hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MEhj2 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.”…””}”(hjQ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MGhj2 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.”…””}”(hj_ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MKhj2 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.”…””}”(hjm hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MOhj2 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.”…””}”(hj{ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MThj2 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.”…””}”(hj‰ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MYhj2 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 Mchj2 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 Mlhj2 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 ]”(hńŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hćhj» ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hțŒ 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 Mshj2 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 Nubj6)”}”(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”uh1j5hjć 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{hj2 hžhubjd)”}”(hŒ".. _sp_the_canonical_patch_format:”h]”h}”(h]”h ]”h"]”h$]”h&]”joŒsp-the-canonical-patch-format”uh1jch Mhj2 hžhhŸhŰubeh}”(h]”Œ&declaracion-de-supervision-del-revisor”ah ]”h"]”Œ(declaraciĂłn de supervisiĂłn del revisor”ah$]”h&]”uh1jqhjś 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&]”uh1jqhjshžhhŸhŰh M1ubjr)”}”(hhh]”(jw)”}”(hŒFormato de parche canĂłnico”h]”hŒFormato de parche canĂłnico”…””}”(hj% hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj" 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 ”…””}”(hj3 hžhhŸNh Nubj«)”}”(hŒ``git``”h]”hŒgit”…””}”(hj; hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhj3 ubhŒ6, el parche con formato adecuado se puede obtener con ”…””}”(hj3 hžhhŸNh Nubj«)”}”(hŒ``git format-patch``”h]”hŒgit format-patch”…””}”(hjM hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhj3 ubhŒ‚. Las herramientas no pueden crear el texto necesario, sin embargo, asĂ­ que lea las instrucciones a continuaciĂłn de todos modos.”…””}”(hj3 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:”…””}”(hje 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”…””}”hjs sbah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸ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:”…””}”(hj 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Œ---”…””}”(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 Mhjubah}”(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.”…””}”(hjHhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MŸhjDubah}”(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 ”…””}”(hj`hžhhŸNh Nubj«)”}”(hŒ``diff``”h]”hŒdiff”…””}”(hjhhž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\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jčhj“ ubeh}”(h]”h ]”h"]”h$]”h&]”jjuh1jŽ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 ”…””}”(hjhžhhŸNh Nubj«)”}”(hŒ``frase de resumen``”h]”hŒfrase de resumen”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjubhŒŠ de su correo electrĂłnico se convierte en un identificador global Ășnico para ese parche. Se propaga por hasta el registro de cambios de ”…””}”(hjhžhhŸNh Nubj«)”}”(hŒ``git``”h]”hŒgit”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjubhŒ. La ”…””}”(hjhžhhŸNh Nubj«)”}”(hŒ``frase resumida``”h]”hŒfrase resumida”…””}”(hj0hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjubhŒ se puede usar mĂĄs adelante en discusiones de desarrolladores que se refieran al parche. La gente querrĂĄ buscar en Google la ”…””}”(hjhžhhŸNh Nubj«)”}”(hŒ``frase de resumen``”h]”hŒfrase de resumen”…””}”(hjBhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjubhŒŚ 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 ”…””}”(hjhžhhŸNh Nubj«)”}”(hŒ``gitk``”h]”hŒgitk”…””}”(hjThžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjubhŒ o ”…””}”(hjhžhhŸNh Nubj«)”}”(hŒ``git log --oneline``”h]”hŒgit log --oneline”…””}”(hjfhž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" 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 ”…””}”(hj~hžhhŸNh Nubj«)”}”(hŒ ``resumen``”h]”hŒresumen”…””}”(hj†hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhj~ubhŒđ 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.”…””}”(hj~hž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&]”jIjJuh1j9hŸ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 ”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸ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”…””}”(hj0hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjubhŒ, entonces la lĂ­nea ”…””}”(hjhžhhŸNh Nubj«)”}”(hŒ ``From:``”h]”hŒFrom:”…””}”(hjBhž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 ”…””}”(hjZhžhhŸNh NubjT)”}”(hŒ **por quĂ©**”h]”hŒpor quĂ©”…””}”(hjbhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjZubhŒ se creĂł el parche.”…””}”(hjZhž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 ”…””}”(hjzhžhhŸNh Nubj«)”}”(hŒ``frase de resumen``”h]”hŒfrase de resumen”…””}”(hj‚hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjzubhŒ3, es importante ser tanto sucinto como descriptivo.”…””}”(hjzhž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”…””}”(hjhž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”…””}”(hj.hž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”…””}”(hj@hž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 ”…””}”(hjXhžhhŸNh Nubj«)”}”(hŒ#``registros de cambios de parches``”h]”hŒregistros de cambios de parches”…””}”(hj`hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjXubhŒE que describen quĂ© ha cambiado entre la versiĂłn v1 y v2 del parche.”…””}”(hjXhž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 ”…””}”(hjxhžhhŸNh NubjT)”}”(hŒ **despuĂ©s**”h]”hŒdespuĂ©s”…””}”(hj€hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjxubhŒ de la lĂ­nea ”…””}”(hjxhžhhŸNh Nubj«)”}”(hŒ``---``”h]”hŒ---”…””}”(hj’hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjxubhX‡ 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:”…””}”(hjxhž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&]”jIjJuh1j9hŸ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žhubjd)”}”(hŒ.. _sp_backtraces:”h]”h}”(h]”h ]”h"]”h$]”h&]”joŒ sp-backtraces”uh1jch M'hj" hžhhŸhŰubjr)”}”(hhh]”(jw)”}”(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&]”uh1jvhjŃ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&]”jIjJuh1j9hŸhŰh M+hjŃhžhubjd)”}”(hŒ.. _sp_explicit_in_reply_to:”h]”h}”(h]”h ]”h"]”h$]”h&]”joŒsp-explicit-in-reply-to”uh1jch 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&]”uh1jqhj" hžhhŸhŰh MjĄ}”jjÆsjŁ}”jĐjÆsubeh}”(h]”(Œformato-de-parche-canonico”j eh ]”h"]”(Œformato de parche canĂłnico”Œsp_the_canonical_patch_format”eh$]”h&]”uh1jqhjshžhhŸhŰh MƒjĄ}”j(j sjŁ}”j j subjr)”}”(hhh]”(jw)”}”(hŒ'In-Reply-To explicitos en las cabeceras”h]”hŒ'In-Reply-To explicitos en las cabeceras”…””}”(hj0hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj-hž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”…””}”(hjFhž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 Nubj6)”}”(hŒhttps://lore.kernel.org/”h]”hŒhttps://lore.kernel.org/”…””}”(hjXhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jZuh1j5hj>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 M7hj-hž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&]”uh1jqhjshžhhŸhŰh M5jĄ}”jwj sjŁ}”jj subjr)”}”(hhh]”(jw)”}”(hŒ(Proporcionar informaciĂłn de ĂĄrbol base”h]”hŒ(Proporcionar informaciĂłn de ĂĄrbol base”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj|hž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 MGhj|hž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 MNhj|hž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&]”jIjJuh1j9hŸhŰh MShj|hž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”…””}”(hjhž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^hj|hž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&]”jIjJuh1j9hŸhŰh Mchj|hžhubhš)”}”(hŒ]Consulte ``man git-format-patch`` para obtener mĂĄs informaciĂłn al respecto de esta opciĂłn.”h]”(hŒ Consulte ”…””}”(hj-hžhhŸNh Nubj«)”}”(hŒ``man git-format-patch``”h]”hŒman git-format-patch”…””}”(hj5hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhj-ubhŒ< para obtener mĂĄs informaciĂłn al respecto de esta opciĂłn.”…””}”(hj-hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Mihj|hžhubhŒnote”“”)”}”(hŒ@La funciĂłn ``--base`` se introdujo en la versiĂłn 2.9.0 de git.”h]”hš)”}”(hjQh]”(hŒ La funciĂłn ”…””}”(hjShžhhŸNh Nubj«)”}”(hŒ ``--base``”h]”hŒ--base”…””}”(hjZhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjSubhŒ* se introdujo en la versiĂłn 2.9.0 de git.”…””}”(hjShžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MnhjOubah}”(h]”h ]”h"]”h$]”h&]”uh1jMhj|hž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 ”…””}”(hjxhžhhŸNh Nubj«)”}”(hŒ``base-commit``”h]”hŒ base-commit”…””}”(hj€hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjxubhŒÂ 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 ”…””}”(hjxhžhhŸNh Nubj«)”}”(hŒ``---``”h]”hŒ---”…””}”(hj’hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jȘhjxubhŒg o en la parte inferior de todos los demĂĄs contenido, justo antes de su firma del correo electrĂłnico.”…””}”(hjxhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Mphj|hžhubeh}”(h]”Œ&proporcionar-informacion-de-arbol-base”ah ]”h"]”Œ(proporcionar informaciĂłn de ĂĄrbol base”ah$]”h&]”uh1jqhjshžhhŸhŰh MEubjr)”}”(hhh]”(jw)”}”(hŒ Referencias”h]”hŒ Referencias”…””}”(hj”hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjČ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 Nubj6)”}”(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ćuh1j5hjÛ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 Mhjubj°)”}”(hhh]”hš)”}”(hŒR”h]”(hŒ<”…””}”(hjhžhhŸNh Nubj6)”}”(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”…””}”(hj%hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j'uh1j5hjubhŒ>”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jŻhjubeh}”(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.”…””}”(hjNhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸhŸhŰh MŒhjJubj°)”}”(hhh]”(hš)”}”(hŒ0”h]”(hŒ<”…””}”(hj_hžhhŸNh Nubj6)”}”(hŒ.http://www.kroah.com/log/linux/maintainer.html”h]”hŒ.http://www.kroah.com/log/linux/maintainer.html”…””}”(hjghžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jiuh1j5hj_ubhŒ>”…””}”(hj_hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh M‚hj\ubhš)”}”(hŒ3”h]”(hŒ<”…””}”(hj€hžhhŸNh Nubj6)”}”(hŒ1http://www.kroah.com/log/linux/maintainer-02.html”h]”hŒ1http://www.kroah.com/log/linux/maintainer-02.html”…””}”(hjˆhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jŠuh1j5hj€ubhŒ>”…””}”(hj€hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh M„hj\ubhš)”}”(hŒ3”h]”(hŒ<”…””}”(hjĄhžhhŸNh Nubj6)”}”(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«uh1j5hjĄubhŒ>”…””}”(hjĄhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh M†hj\ubhš)”}”(hŒ3”h]”(hŒ<”…””}”(hjÂhžhhŸNh Nubj6)”}”(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Ìuh1j5hjÂubhŒ>”…””}”(hjÂhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh Mˆhj\ubhš)”}”(hŒ3”h]”(hŒ<”…””}”(hjăhžhhŸNh Nubj6)”}”(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íuh1j5hjăubhŒ>”…””}”(hjăhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MŠhj\ubhš)”}”(hŒ3”h]”(hŒ<”…””}”(hjhžhhŸNh Nubj6)”}”(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”juh1j5hjubhŒ>”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh MŒhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŻhjJubeh}”(h]”•Ch ]”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”…””}”(hj7hžhhŸNh Nubah}”(h]”h ]”h"]”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:”…””}”(hjLhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸhŸhŰh M‘hjHubj°)”}”(hhh]”hš)”}”(hŒM”h]”(hŒ<”…””}”(hj]hžhhŸNh Nubj6)”}”(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”…””}”(hjehžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jguh1j5hj]ubhŒ>”…””}”(hj]hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh M‘hjZubah}”(h]”h ]”h"]”h$]”h&]”uh1jŻhjHubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™hŸhŰh M‘hjEubjš)”}”(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–hjŠubj°)”}”(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]”j6)”}”(hjŻh]”hŒ-http://halobates.de/on-submitting-patches.pdf”…””}”(hj±hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jŻuh1j5hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhŰh M—hjœubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŻhjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™hŸhŰh M–hjEhžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjČhžhhŸhŰh Nubeh}”(h]”Œ referencias”ah ]”h"]”Œ referencias”ah$]”h&]”uh1jqhjshžhhŸhŰh Myubeh}”(h]”(ŒEenvio-de-parches-la-guia-esencial-para-incluir-su-codigo-en-el-kernel”jpeh ]”h"]”(ŒIenvĂ­o de parches: la guĂ­a esencial para incluir su cĂłdigo en el kernel”Œsp_submittingpatches”eh$]”h&]”uh1jqhhhžhhŸhŰh K jĄ}”jćjesjŁ}”jpjesubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hŰuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(jvNŒ 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”}”(jp]”jeajw]”jmaj—]”jaj–]”jŒaj ]”j aj ]”j ajĐ]”jÆaj]”j auŒnameids”}”(jćjpjäjáj}jzjžjwjjšjTj—jSjPj.j+jJjGjjjœj™j% j–j$ j! j‡ j j† jƒ jÌ jÉ j! j j j jô jń j j j j j(j j'j$jjĐjjjwjjvjsjŻjŹjÜjÙuŒ nametypes”}”(jćˆjä‰j}‰jžˆj‰jTˆjS‰j.‰jJ‰j‰jœ‰j% ˆj$ ‰j‡ ˆj† ‰jÌ ‰j! ‰j ‰jô ‰j ‰j ‰j(ˆj'‰jˆj‰jwˆjv‰j݉j܉uh}”(jpjsjájsjzjjwj€jšj€j—j„jPj„j+jYjGj1jjMj™jj–jŸj! jŸj j* jƒ j* jÉ jŒ j jÏ j jü jń j$ j jś j j2 j j" j$j" jĐjŃjjŃjj-jsj-jŹj|jÙjČuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”(hŒsystem_message”“”)”}”(hhh]”hš)”}”(hhh]”hŒ:Hyperlink target "sp-submittingpatches" is not referenced.”…””}”hj~sbah}”(h]”h ]”h"]”h$]”h&]”uh1h§hj{ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hیline”Kuh1jyubjz)”}”(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@uh1jyubjz)”}”(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Ÿuh1jyubjz)”}”(hhh]”hš)”}”(hhh]”hŒ