€•AŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒEnglish”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/process/5.Posting”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Simplified)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/zh_CN/process/5.Posting”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/zh_TW/process/5.Posting”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/it_IT/process/5.Posting”Œ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/5.Posting”Œ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/5.Posting”Œ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ŸŒR/var/lib/git/docbuild/linux/Documentation/translations/sp_SP/process/5.Posting.rst”h KubhŒ field_body”“”)”}”(hŒ#Documentation/process/5.Posting.rst”h]”h¨)”}”(hhÝh]”hŒ#Documentation/process/5.Posting.rst”…””}”(hhßhžhhŸNh Nubah}”(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”…””}”(hhûhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhhøhŸhØh KubhÚ)”}”(hŒVCarlos Bilbao and Avadhut Naik ”h]”h¨)”}”(hŒUCarlos Bilbao and Avadhut Naik ”h]”(hŒCarlos Bilbao <”…””}”(hj hžhhŸNh NubhŒ reference”“”)”}”(hŒcarlos.bilbao.osdev@gmail.com”h]”hŒcarlos.bilbao.osdev@gmail.com”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ$mailto:carlos.bilbao.osdev@gmail.com”uh1jhj ubhŒ> and Avadhut Naik <”…””}”(hj hžhhŸNh Nubj)”}”(hŒavadhut.naik@amd.com”h]”hŒavadhut.naik@amd.com”…””}”(hj+hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:avadhut.naik@amd.com”uh1jhj ubhŒ>”…””}”(hj hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙhhøubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÃhŸhØh KhhÀhžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1h¾hhhžhhŸhØh KubhŒtarget”“”)”}”(hŒ.. _sp_development_posting:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œsp-development-posting”uh1jWh KhhhžhhŸhØubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒPublicación de parches”h]”hŒPublicación de parches”…””}”(hjlhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jjhjghžhhŸhØh K ubh¨)”}”(hXãTarde o temprano, llega el momento en que su trabajo esté listo para ser presentado a la comunidad para su revisión y, eventualmente, su inclusión en el kernel mainline. Como era de esperar, la comunidad de desarrollo del kernel ha desarrollado un conjunto de convenciones y procedimientos que se utilizan en la publicación de parches; seguirlos hará la vida mucho más fácil para todos los involucrados. Este documento intentará cubrir estas expectativas con un detalle razonable; también se puede encontrar más información en los archivos. :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst ` and :ref:`Documentation/translations/sp_SP/process/submit-checklist.rst `”h]”(hX(Tarde o temprano, llega el momento en que su trabajo esté listo para ser presentado a la comunidad para su revisión y, eventualmente, su inclusión en el kernel mainline. Como era de esperar, la comunidad de desarrollo del kernel ha desarrollado un conjunto de convenciones y procedimientos que se utilizan en la publicación de parches; seguirlos hará la vida mucho más fácil para todos los involucrados. Este documento intentará cubrir estas expectativas con un detalle razonable; también se puede encontrar más información en los archivos. ”…””}”(hjzhžhhŸNh Nubh)”}”(hŒ]:ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `”h]”hŒinline”“”)”}”(hj„h]”hŒ?Documentation/translations/sp_SP/process/submitting-patches.rst”…””}”(hjˆhžhhŸNh Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j†hj‚ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ$translations/sp_SP/process/5.Posting”Œ refdomain”j“Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œsp_submittingpatches”uh1hhŸhØh K hjzubhŒ and ”…””}”(hjzhžhhŸNh Nubh)”}”(hŒY:ref:`Documentation/translations/sp_SP/process/submit-checklist.rst `”h]”j‡)”}”(hj­h]”hŒ=Documentation/translations/sp_SP/process/submit-checklist.rst”…””}”(hj¯hžhhŸNh Nubah}”(h]”h ]”(j’Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j†hj«ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŸŒ refdomain”j¹Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj¥Œsp_submitchecklist”uh1hhŸhØh K hjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K hjghžhubjf)”}”(hhh]”(jk)”}”(hŒCuando publicar”h]”hŒCuando publicar”…””}”(hjÔhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jjhjÑhžhhŸhØh Kubh¨)”}”(hX Hay una tentación constante de evitar publicar parches antes de que estén completamente “listosâ€. Para parches simples, eso no es un problema. Sin embargo, si el trabajo que se está realizando es complejo, hay mucho que ganar al obtener comentarios de la comunidad antes de que se complete el trabajo. Por lo tanto, se debería considerar publicar trabajo en progreso, o incluso poner a disposición un árbol de git para que los desarrolladores interesados puedan ponerse al día con su trabajo en cualquier momento.”h]”hX Hay una tentación constante de evitar publicar parches antes de que estén completamente “listosâ€. Para parches simples, eso no es un problema. Sin embargo, si el trabajo que se está realizando es complejo, hay mucho que ganar al obtener comentarios de la comunidad antes de que se complete el trabajo. Por lo tanto, se debería considerar publicar trabajo en progreso, o incluso poner a disposición un árbol de git para que los desarrolladores interesados puedan ponerse al día con su trabajo en cualquier momento.”…””}”(hjâhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KhjÑhžhubh¨)”}”(hXAl publicar código que aún no se considera listo para su inclusión, es una buena idea decirlo en la propia publicación. Además, mencione cualquier trabajo importante que aún falte por hacer y cualquier problema conocido. Menos personas mirarán los parches que se sabe que están a medias, pero aquellos que lo hagan vendrán con la idea de que pueden ayudarlo a llevar el trabajo en la dirección correcta.”h]”hXAl publicar código que aún no se considera listo para su inclusión, es una buena idea decirlo en la propia publicación. Además, mencione cualquier trabajo importante que aún falte por hacer y cualquier problema conocido. Menos personas mirarán los parches que se sabe que están a medias, pero aquellos que lo hagan vendrán con la idea de que pueden ayudarlo a llevar el trabajo en la dirección correcta.”…””}”(hjðhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K"hjÑhžhubeh}”(h]”Œcuando-publicar”ah ]”h"]”Œcuando publicar”ah$]”h&]”uh1jehjghžhhŸhØh Kubjf)”}”(hhh]”(jk)”}”(hŒAntes de crear parches”h]”hŒAntes de crear parches”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jjhjhžhhŸhØh K*ubh¨)”}”(hŒlSe deben hacer varias cosas antes de considerar enviar parches a la comunidad de desarrollo. Estas incluyen:”h]”hŒlSe deben hacer varias cosas antes de considerar enviar parches a la comunidad de desarrollo. Estas incluyen:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K,hjhžhubhŒ block_quote”“”)”}”(hXF- Pruebe el código en la medida de lo posible. Utilice las herramientas de depuración del kernel, asegúrese de que el kernel se compilará con todas las combinaciones razonables de opciones de configuración, use compiladores cruzados para compilar para diferentes arquitecturas, etc. - Asegúrese de que su código cumpla con las directrices de estilo de codificación del kernel. - ¿Su cambio tiene implicaciones de rendimiento? Si es así, debe ejecutar puntos de referencia que muestren cuál es el impacto (o beneficio) de su cambio; se debe incluir un resumen de los resultados con el parche. - Asegúrese de que tiene derecho a publicar el código. Si este trabajo se realizó para un empleador, es probable que el empleador tenga derecho al trabajo y debe estar de acuerdo con su lanzamiento bajo la GPL. ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hXPruebe el código en la medida de lo posible. Utilice las herramientas de depuración del kernel, asegúrese de que el kernel se compilará con todas las combinaciones razonables de opciones de configuración, use compiladores cruzados para compilar para diferentes arquitecturas, etc. ”h]”h¨)”}”(hXPruebe el código en la medida de lo posible. Utilice las herramientas de depuración del kernel, asegúrese de que el kernel se compilará con todas las combinaciones razonables de opciones de configuración, use compiladores cruzados para compilar para diferentes arquitecturas, etc.”h]”hXPruebe el código en la medida de lo posible. Utilice las herramientas de depuración del kernel, asegúrese de que el kernel se compilará con todas las combinaciones razonables de opciones de configuración, use compiladores cruzados para compilar para diferentes arquitecturas, etc.”…””}”(hj6hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K/hj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj-ubj1)”}”(hŒ_Asegúrese de que su código cumpla con las directrices de estilo de codificación del kernel. ”h]”h¨)”}”(hŒ^Asegúrese de que su código cumpla con las directrices de estilo de codificación del kernel.”h]”hŒ^Asegúrese de que su código cumpla con las directrices de estilo de codificación del kernel.”…””}”(hjNhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K4hjJubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj-ubj1)”}”(hŒØÂ¿Su cambio tiene implicaciones de rendimiento? Si es así, debe ejecutar puntos de referencia que muestren cuál es el impacto (o beneficio) de su cambio; se debe incluir un resumen de los resultados con el parche. ”h]”h¨)”}”(hŒ×¿Su cambio tiene implicaciones de rendimiento? Si es así, debe ejecutar puntos de referencia que muestren cuál es el impacto (o beneficio) de su cambio; se debe incluir un resumen de los resultados con el parche.”h]”hŒ×¿Su cambio tiene implicaciones de rendimiento? Si es así, debe ejecutar puntos de referencia que muestren cuál es el impacto (o beneficio) de su cambio; se debe incluir un resumen de los resultados con el parche.”…””}”(hjfhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K7hjbubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj-ubj1)”}”(hŒÔAsegúrese de que tiene derecho a publicar el código. Si este trabajo se realizó para un empleador, es probable que el empleador tenga derecho al trabajo y debe estar de acuerdo con su lanzamiento bajo la GPL. ”h]”h¨)”}”(hŒÓAsegúrese de que tiene derecho a publicar el código. Si este trabajo se realizó para un empleador, es probable que el empleador tenga derecho al trabajo y debe estar de acuerdo con su lanzamiento bajo la GPL.”h]”hŒÓAsegúrese de que tiene derecho a publicar el código. Si este trabajo se realizó para un empleador, es probable que el empleador tenga derecho al trabajo y debe estar de acuerdo con su lanzamiento bajo la GPL.”…””}”(hj~hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K;hjzubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj-ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j+hŸhØh K/hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hŸhØh K/hjhžhubh¨)”}”(hŒvComo regla general, pensar un poco más antes de publicar el código casi siempre compensa el esfuerzo en poco tiempo.”h]”hŒvComo regla general, pensar un poco más antes de publicar el código casi siempre compensa el esfuerzo en poco tiempo.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K@hjhžhubeh}”(h]”Œantes-de-crear-parches”ah ]”h"]”Œantes de crear parches”ah$]”h&]”uh1jehjghžhhŸhØh K*ubjf)”}”(hhh]”(jk)”}”(hŒPreparación del parche”h]”hŒPreparación del parche”…””}”(hj¹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jjhj¶hžhhŸhØh KDubh¨)”}”(hŒÍLa preparación de parches para su publicación puede ser una cantidad sorprendente de trabajo, pero, una vez más, intentar ahorrar tiempo aquí generalmente no es recomendable, ni siquiera a corto plazo.”h]”hŒÍLa preparación de parches para su publicación puede ser una cantidad sorprendente de trabajo, pero, una vez más, intentar ahorrar tiempo aquí generalmente no es recomendable, ni siquiera a corto plazo.”…””}”(hjÇhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KFhj¶hžhubh¨)”}”(hXbLos parches deben prepararse contra una versión específica del kernel. Como regla general, un parche debe basarse en el mainline actual que se encuentra en el árbol git de Linus. Al basarse en el mainline, comience con un punto de lanzamiento bien conocido, una versión estable o -rc, en lugar de bifurcarse fuera del mainline en un punto arbitrario.”h]”hXbLos parches deben prepararse contra una versión específica del kernel. Como regla general, un parche debe basarse en el mainline actual que se encuentra en el árbol git de Linus. Al basarse en el mainline, comience con un punto de lanzamiento bien conocido, una versión estable o -rc, en lugar de bifurcarse fuera del mainline en un punto arbitrario.”…””}”(hjÕhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KJhj¶hžhubh¨)”}”(hXqPuede ser necesario hacer revisiones contra -mm, linux-next o un árbol de subsistemas para facilitar pruebas y revisiones más amplias. Dependiendo del área de su parche y de lo que esté sucediendo en otros lugares, basar un parche en estos otros árboles puede requerir una cantidad significativa de trabajo para resolver conflictos y lidiar con los cambios de API.”h]”hXqPuede ser necesario hacer revisiones contra -mm, linux-next o un árbol de subsistemas para facilitar pruebas y revisiones más amplias. Dependiendo del área de su parche y de lo que esté sucediendo en otros lugares, basar un parche en estos otros árboles puede requerir una cantidad significativa de trabajo para resolver conflictos y lidiar con los cambios de API.”…””}”(hjãhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KPhj¶hžhubh¨)”}”(hXaSolo los cambios más simples deben formatearse como un solo parche; todo lo demás debe hacerse como una serie lógica de cambios. Dividir parches es un poco un arte; algunos desarrolladores pasan mucho tiempo averiguando cómo hacerlo de la manera que la comunidad espera. Sin embargo, hay algunas reglas generales que pueden ayudar considerablemente:”h]”hXaSolo los cambios más simples deben formatearse como un solo parche; todo lo demás debe hacerse como una serie lógica de cambios. Dividir parches es un poco un arte; algunos desarrolladores pasan mucho tiempo averiguando cómo hacerlo de la manera que la comunidad espera. Sin embargo, hay algunas reglas generales que pueden ayudar considerablemente:”…””}”(hjñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KVhj¶hžhubj&)”}”(hX¹ - La serie de parches que publique casi seguramente no será la serie de cambios que se encuentran en su sistema de control de revisiones. En su lugar, los cambios que ha realizado deben considerarse en su forma final y luego dividirse de manera que tengan sentido. A los desarrolladores les interesan los cambios discretos y autónomos, no el camino que tomó para llegar a esos cambios. - Cada cambio lógicamente independiente debe formatearse como un parche separado. Estos cambios pueden ser pequeños (“agregar un campo a esta estructuraâ€) o grandes (agregar un nuevo controlador significativo, por ejemplo), pero deben ser conceptualmente pequeños y susceptibles de una descripción de una línea. Cada parche debe hacer un cambio especifico que pueda ser revisado por sí mismo y verificado para hacer lo que dice que hace. - Para reafirmar la pauta anterior: no mezcle diferentes tipos de cambios en el mismo parche. Si un solo parche corrige un error de seguridad crítico, reorganiza algunas estructuras y reformatea el código, es muy probable que se pase por alto y se pierda la solución importante. - Cada parche debe producir un kernel que se compile y funcione correctamente; si su serie de parches se interrumpe en el medio, el resultado debería seguir siendo un kernel funcional. La aplicación parcial de una serie de parches es un escenario común cuando se utiliza la herramienta “git bisect†para encontrar regresiones; si el resultado es un kernel roto, hará la vida más difícil para los desarrolladores y usuarios que participan en el noble trabajo de rastrear problemas. - Sin embargo, no lo exagere. Un desarrollador una vez publicó un conjunto de ediciones en un solo archivo como 500 parches separados – un acto que no lo convirtió en la persona más popular en la lista de correo del kernel. Un solo parche puede ser razonablemente grande si todavía contiene un solo cambio *lógico*. - Puede ser tentador agregar una infraestructura completamente nueva con una serie de parches, pero dejar esa infraestructura sin usar hasta el parche final de la serie lo habilite todo. Esta tentación debe evitarse si es posible; si esa serie agrega regresiones, bisection señalará el ultimo parche como el que causó el problema, aunque el error real esté en otra parte. Siempre que sea posible, un parche que agregue código nuevo debe hacer que ese código se active de inmediato. ”h]”j,)”}”(hhh]”(j1)”}”(hXƒLa serie de parches que publique casi seguramente no será la serie de cambios que se encuentran en su sistema de control de revisiones. En su lugar, los cambios que ha realizado deben considerarse en su forma final y luego dividirse de manera que tengan sentido. A los desarrolladores les interesan los cambios discretos y autónomos, no el camino que tomó para llegar a esos cambios. ”h]”h¨)”}”(hX‚La serie de parches que publique casi seguramente no será la serie de cambios que se encuentran en su sistema de control de revisiones. En su lugar, los cambios que ha realizado deben considerarse en su forma final y luego dividirse de manera que tengan sentido. A los desarrolladores les interesan los cambios discretos y autónomos, no el camino que tomó para llegar a esos cambios.”h]”hX‚La serie de parches que publique casi seguramente no será la serie de cambios que se encuentran en su sistema de control de revisiones. En su lugar, los cambios que ha realizado deben considerarse en su forma final y luego dividirse de manera que tengan sentido. A los desarrolladores les interesan los cambios discretos y autónomos, no el camino que tomó para llegar a esos cambios.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K\hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjubj1)”}”(hX¾Cada cambio lógicamente independiente debe formatearse como un parche separado. Estos cambios pueden ser pequeños (“agregar un campo a esta estructuraâ€) o grandes (agregar un nuevo controlador significativo, por ejemplo), pero deben ser conceptualmente pequeños y susceptibles de una descripción de una línea. Cada parche debe hacer un cambio especifico que pueda ser revisado por sí mismo y verificado para hacer lo que dice que hace. ”h]”h¨)”}”(hX½Cada cambio lógicamente independiente debe formatearse como un parche separado. Estos cambios pueden ser pequeños (“agregar un campo a esta estructuraâ€) o grandes (agregar un nuevo controlador significativo, por ejemplo), pero deben ser conceptualmente pequeños y susceptibles de una descripción de una línea. Cada parche debe hacer un cambio especifico que pueda ser revisado por sí mismo y verificado para hacer lo que dice que hace.”h]”hX½Cada cambio lógicamente independiente debe formatearse como un parche separado. Estos cambios pueden ser pequeños (“agregar un campo a esta estructuraâ€) o grandes (agregar un nuevo controlador significativo, por ejemplo), pero deben ser conceptualmente pequeños y susceptibles de una descripción de una línea. Cada parche debe hacer un cambio especifico que pueda ser revisado por sí mismo y verificado para hacer lo que dice que hace.”…””}”(hj"hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kchjubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjubj1)”}”(hXPara reafirmar la pauta anterior: no mezcle diferentes tipos de cambios en el mismo parche. Si un solo parche corrige un error de seguridad crítico, reorganiza algunas estructuras y reformatea el código, es muy probable que se pase por alto y se pierda la solución importante. ”h]”h¨)”}”(hXPara reafirmar la pauta anterior: no mezcle diferentes tipos de cambios en el mismo parche. Si un solo parche corrige un error de seguridad crítico, reorganiza algunas estructuras y reformatea el código, es muy probable que se pase por alto y se pierda la solución importante.”h]”hXPara reafirmar la pauta anterior: no mezcle diferentes tipos de cambios en el mismo parche. Si un solo parche corrige un error de seguridad crítico, reorganiza algunas estructuras y reformatea el código, es muy probable que se pase por alto y se pierda la solución importante.”…””}”(hj:hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kkhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjubj1)”}”(hXéCada parche debe producir un kernel que se compile y funcione correctamente; si su serie de parches se interrumpe en el medio, el resultado debería seguir siendo un kernel funcional. La aplicación parcial de una serie de parches es un escenario común cuando se utiliza la herramienta “git bisect†para encontrar regresiones; si el resultado es un kernel roto, hará la vida más difícil para los desarrolladores y usuarios que participan en el noble trabajo de rastrear problemas. ”h]”h¨)”}”(hXèCada parche debe producir un kernel que se compile y funcione correctamente; si su serie de parches se interrumpe en el medio, el resultado debería seguir siendo un kernel funcional. La aplicación parcial de una serie de parches es un escenario común cuando se utiliza la herramienta “git bisect†para encontrar regresiones; si el resultado es un kernel roto, hará la vida más difícil para los desarrolladores y usuarios que participan en el noble trabajo de rastrear problemas.”h]”hXèCada parche debe producir un kernel que se compile y funcione correctamente; si su serie de parches se interrumpe en el medio, el resultado debería seguir siendo un kernel funcional. La aplicación parcial de una serie de parches es un escenario común cuando se utiliza la herramienta “git bisect†para encontrar regresiones; si el resultado es un kernel roto, hará la vida más difícil para los desarrolladores y usuarios que participan en el noble trabajo de rastrear problemas.”…””}”(hjRhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KphjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjubj1)”}”(hXASin embargo, no lo exagere. Un desarrollador una vez publicó un conjunto de ediciones en un solo archivo como 500 parches separados – un acto que no lo convirtió en la persona más popular en la lista de correo del kernel. Un solo parche puede ser razonablemente grande si todavía contiene un solo cambio *lógico*. ”h]”h¨)”}”(hX@Sin embargo, no lo exagere. Un desarrollador una vez publicó un conjunto de ediciones en un solo archivo como 500 parches separados – un acto que no lo convirtió en la persona más popular en la lista de correo del kernel. Un solo parche puede ser razonablemente grande si todavía contiene un solo cambio *lógico*.”h]”(hX6Sin embargo, no lo exagere. Un desarrollador una vez publicó un conjunto de ediciones en un solo archivo como 500 parches separados – un acto que no lo convirtió en la persona más popular en la lista de correo del kernel. Un solo parche puede ser razonablemente grande si todavía contiene un solo cambio ”…””}”(hjjhžhhŸNh NubhŒemphasis”“”)”}”(hŒ *lógico*”h]”hŒlógico”…””}”(hjthžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjjubhŒ.”…””}”(hjjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kyhjfubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjubj1)”}”(hXçPuede ser tentador agregar una infraestructura completamente nueva con una serie de parches, pero dejar esa infraestructura sin usar hasta el parche final de la serie lo habilite todo. Esta tentación debe evitarse si es posible; si esa serie agrega regresiones, bisection señalará el ultimo parche como el que causó el problema, aunque el error real esté en otra parte. Siempre que sea posible, un parche que agregue código nuevo debe hacer que ese código se active de inmediato. ”h]”h¨)”}”(hXæPuede ser tentador agregar una infraestructura completamente nueva con una serie de parches, pero dejar esa infraestructura sin usar hasta el parche final de la serie lo habilite todo. Esta tentación debe evitarse si es posible; si esa serie agrega regresiones, bisection señalará el ultimo parche como el que causó el problema, aunque el error real esté en otra parte. Siempre que sea posible, un parche que agregue código nuevo debe hacer que ese código se active de inmediato.”h]”hXæPuede ser tentador agregar una infraestructura completamente nueva con una serie de parches, pero dejar esa infraestructura sin usar hasta el parche final de la serie lo habilite todo. Esta tentación debe evitarse si es posible; si esa serie agrega regresiones, bisection señalará el ultimo parche como el que causó el problema, aunque el error real esté en otra parte. Siempre que sea posible, un parche que agregue código nuevo debe hacer que ese código se active de inmediato.”…””}”(hj–hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjubeh}”(h]”h ]”h"]”h$]”h&]”j˜j™uh1j+hŸhØh K\hjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hŸhØh K\hj¶hžhubh¨)”}”(hŒîTrabajar para crear la serie de parches perfecta puede ser un proceso frustrante que lleva mucho tiempo y reflexión después de que el “trabajo real†se ha hecho. Sin embargo, cuando se hace correctamente, es un tiempo bien empleado.”h]”hŒîTrabajar para crear la serie de parches perfecta puede ser un proceso frustrante que lleva mucho tiempo y reflexión después de que el “trabajo real†se ha hecho. Sin embargo, cuando se hace correctamente, es un tiempo bien empleado.”…””}”(hj¶hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K‡hj¶hžhubeh}”(h]”Œpreparacion-del-parche”ah ]”h"]”Œpreparación del parche”ah$]”h&]”uh1jehjghžhhŸhØh KDubjf)”}”(hhh]”(jk)”}”(hŒ)Formato de parches y registros de cambios”h]”hŒ)Formato de parches y registros de cambios”…””}”(hjÏhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jjhjÌhžhhŸhØh Kubh¨)”}”(hXAsí que ahora tiene una serie perfecta de parches para publicar, pero el trabajo aún no se ha hecho. Cada parche necesita ser formateado en un mensaje que comunique rápida y claramente su propósito al resto del mundo. A tal fin, cada parche se compondrá de lo siguiente:”h]”hXAsí que ahora tiene una serie perfecta de parches para publicar, pero el trabajo aún no se ha hecho. Cada parche necesita ser formateado en un mensaje que comunique rápida y claramente su propósito al resto del mundo. A tal fin, cada parche se compondrá de lo siguiente:”…””}”(hjÝhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KhjÌhžhubj&)”}”(hX- Una línea opcional “From†que nombra al autor del parche. Esta línea solo es necesaria si pasa el parche de otra persona por correo electrónico, pero nunca está de más agregarla en caso de duda. - Una descripción de una línea de lo que hace el parche. Este mensaje debería ser suficiente para que un lector que lo vea sin otro contexto pueda entender el alcance del parche; la línea aparecerá en los registros de cambios de “forma cortaâ€. Este mensaje generalmente se formatea con el nombre del subsistema relevante primero, seguido del propósito del parche. Por ejemplo: :: gpio: fix build on CONFIG_GPIO_SYSFS=n - Una línea en blanco seguida de una descripción detallada del contenido del parche. Esta descripción puede ser tan larga como sea necesario; debería decir qué hace el parche y por qué debe aplicarse al kernel. - Una o más líneas de etiquetas, con, como mínimo, una línea Signed-off-by: del autor del parche. Las etiquetas se describirán con más detalle a continuación. ”h]”j,)”}”(hhh]”(j1)”}”(hŒÌUna línea opcional “From†que nombra al autor del parche. Esta línea solo es necesaria si pasa el parche de otra persona por correo electrónico, pero nunca está de más agregarla en caso de duda. ”h]”h¨)”}”(hŒËUna línea opcional “From†que nombra al autor del parche. Esta línea solo es necesaria si pasa el parche de otra persona por correo electrónico, pero nunca está de más agregarla en caso de duda.”h]”hŒËUna línea opcional “From†que nombra al autor del parche. Esta línea solo es necesaria si pasa el parche de otra persona por correo electrónico, pero nunca está de más agregarla en caso de duda.”…””}”(hjöhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K”hjòubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjïubj1)”}”(hX²Una descripción de una línea de lo que hace el parche. Este mensaje debería ser suficiente para que un lector que lo vea sin otro contexto pueda entender el alcance del parche; la línea aparecerá en los registros de cambios de “forma cortaâ€. Este mensaje generalmente se formatea con el nombre del subsistema relevante primero, seguido del propósito del parche. Por ejemplo: :: gpio: fix build on CONFIG_GPIO_SYSFS=n ”h]”(h¨)”}”(hX€Una descripción de una línea de lo que hace el parche. Este mensaje debería ser suficiente para que un lector que lo vea sin otro contexto pueda entender el alcance del parche; la línea aparecerá en los registros de cambios de “forma cortaâ€. Este mensaje generalmente se formatea con el nombre del subsistema relevante primero, seguido del propósito del parche. Por ejemplo:”h]”hX€Una descripción de una línea de lo que hace el parche. Este mensaje debería ser suficiente para que un lector que lo vea sin otro contexto pueda entender el alcance del parche; la línea aparecerá en los registros de cambios de “forma cortaâ€. Este mensaje generalmente se formatea con el nombre del subsistema relevante primero, seguido del propósito del parche. Por ejemplo:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K˜hj ubhŒ literal_block”“”)”}”(hŒ&gpio: fix build on CONFIG_GPIO_SYSFS=n”h]”hŒ&gpio: fix build on CONFIG_GPIO_SYSFS=n”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jhŸhØh K¡hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjïubj1)”}”(hŒ×Una línea en blanco seguida de una descripción detallada del contenido del parche. Esta descripción puede ser tan larga como sea necesario; debería decir qué hace el parche y por qué debe aplicarse al kernel. ”h]”h¨)”}”(hŒÖUna línea en blanco seguida de una descripción detallada del contenido del parche. Esta descripción puede ser tan larga como sea necesario; debería decir qué hace el parche y por qué debe aplicarse al kernel.”h]”hŒÖUna línea en blanco seguida de una descripción detallada del contenido del parche. Esta descripción puede ser tan larga como sea necesario; debería decir qué hace el parche y por qué debe aplicarse al kernel.”…””}”(hj8hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K£hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjïubj1)”}”(hŒ¤Una o más líneas de etiquetas, con, como mínimo, una línea Signed-off-by: del autor del parche. Las etiquetas se describirán con más detalle a continuación. ”h]”h¨)”}”(hŒ£Una o más líneas de etiquetas, con, como mínimo, una línea Signed-off-by: del autor del parche. Las etiquetas se describirán con más detalle a continuación.”h]”hŒ£Una o más líneas de etiquetas, con, como mínimo, una línea Signed-off-by: del autor del parche. Las etiquetas se describirán con más detalle a continuación.”…””}”(hjPhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K§hjLubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjïubeh}”(h]”h ]”h"]”h$]”h&]”j˜j™uh1j+hŸhØh K”hjëubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hŸhØh K”hjÌhžhubh¨)”}”(hX`Los elementos de arriba, juntos, forman el registro de cambios para el parche. Escribir buenos registros de cambios es un arte crucial, pero a menudo descuidado; vale la pena pasar otro momento discutiendo este tema. Al escribir un registro de cambios, debe recordar que muchas personas diferentes leerán sus palabras. Estos incluyen a los maintainers y revisores de subsistemas que necesitan decidir si el parche debe incluirse, a los distribuidores y otros maintainers que intentan determinar si un parche debe ser “backported†a otros kernels, a los cazadores de errores que se preguntan si el parche es responsable de un problema que están persiguiendo, a los usuarios que quieren saber cómo ha cambiado el kernel, y más. Un buen registro de cambios transmite la información necesaria a todas estas personas de la forma más directa y concisa posible.”h]”hX`Los elementos de arriba, juntos, forman el registro de cambios para el parche. Escribir buenos registros de cambios es un arte crucial, pero a menudo descuidado; vale la pena pasar otro momento discutiendo este tema. Al escribir un registro de cambios, debe recordar que muchas personas diferentes leerán sus palabras. Estos incluyen a los maintainers y revisores de subsistemas que necesitan decidir si el parche debe incluirse, a los distribuidores y otros maintainers que intentan determinar si un parche debe ser “backported†a otros kernels, a los cazadores de errores que se preguntan si el parche es responsable de un problema que están persiguiendo, a los usuarios que quieren saber cómo ha cambiado el kernel, y más. Un buen registro de cambios transmite la información necesaria a todas estas personas de la forma más directa y concisa posible.”…””}”(hjphžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K«hjÌhžhubh¨)”}”(hXÌCon ese fin, la línea de resumen debe describir los efectos y la motivación del cambio, así como lo mejor posible dada la restricción de una línea. La descripción detallada puede ampliar esos temas y proporcionar cualquier información adicional necesaria. Si el parche corrige un error, cita el commit que introdujo el error si es posible (y por favor, proporcione tanto el ID del commit como el título al citar commits). Si un problema está asociado con un registro específico o la salida del compilador, incluya esa salida para ayudar a otros usuarios a buscar una solución al mismo problema. Si el cambio está destinado a apoyar otros cambios que llegarán en un parche posterior, dígalo. Si se cambian las API internas, detalle esos cambios y cómo deben responder otros desarrolladores. En general, cuanto más pueda ponerse en los zapatos de todos los que leerán su registro de cambios, mejor será ese registro de cambios (y el kernel en su conjunto).”h]”hXÌCon ese fin, la línea de resumen debe describir los efectos y la motivación del cambio, así como lo mejor posible dada la restricción de una línea. La descripción detallada puede ampliar esos temas y proporcionar cualquier información adicional necesaria. Si el parche corrige un error, cita el commit que introdujo el error si es posible (y por favor, proporcione tanto el ID del commit como el título al citar commits). Si un problema está asociado con un registro específico o la salida del compilador, incluya esa salida para ayudar a otros usuarios a buscar una solución al mismo problema. Si el cambio está destinado a apoyar otros cambios que llegarán en un parche posterior, dígalo. Si se cambian las API internas, detalle esos cambios y cómo deben responder otros desarrolladores. En general, cuanto más pueda ponerse en los zapatos de todos los que leerán su registro de cambios, mejor será ese registro de cambios (y el kernel en su conjunto).”…””}”(hj~hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K¹hjÌhžhubh¨)”}”(hŒ›No hace falta decir que el registro de cambios debe ser el texto utilizado al realizar el commit en un sistema de control de revisiones. Será seguido por:”h]”hŒ›No hace falta decir que el registro de cambios debe ser el texto utilizado al realizar el commit en un sistema de control de revisiones. Será seguido por:”…””}”(hjŒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÈhjÌhžhubj&)”}”(hŒâ- El parche, en el formato unificado de parche (“-uâ€). Usar la opción “-p†en diff asociará los nombres de las funciones con los cambios, lo que hará que el parche resultante sea más fácil de leer para otros. ”h]”j,)”}”(hhh]”j1)”}”(hŒÜEl parche, en el formato unificado de parche (“-uâ€). Usar la opción “-p†en diff asociará los nombres de las funciones con los cambios, lo que hará que el parche resultante sea más fácil de leer para otros. ”h]”h¨)”}”(hŒÛEl parche, en el formato unificado de parche (“-uâ€). Usar la opción “-p†en diff asociará los nombres de las funciones con los cambios, lo que hará que el parche resultante sea más fácil de leer para otros.”h]”hŒÛEl parche, en el formato unificado de parche (“-uâ€). Usar la opción “-p†en diff asociará los nombres de las funciones con los cambios, lo que hará que el parche resultante sea más fácil de leer para otros.”…””}”(hj¥hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÌhj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjžubah}”(h]”h ]”h"]”h$]”h&]”j˜j™uh1j+hŸhØh KÌhjšubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hŸhØh KÌhjÌhžhubh¨)”}”(hX'Debe evitar incluir cambios en archivos irrelevantes (los generados por el proceso de compilación, por ejemplo, o los archivos de respaldo del editor) en el parche. El archivo “dontdiff†en el directorio de Documentation puede ayudar en este sentido; páselo a diff con la opción “-Xâ€.”h]”hX'Debe evitar incluir cambios en archivos irrelevantes (los generados por el proceso de compilación, por ejemplo, o los archivos de respaldo del editor) en el parche. El archivo “dontdiff†en el directorio de Documentation puede ayudar en este sentido; páselo a diff con la opción “-Xâ€.”…””}”(hjÅhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÐhjÌhžhubh¨)”}”(hXLas etiquetas ya mencionadas brevemente anteriormente proporcionan información sobre cómo surgió el parche. Se describen en detalle en el documento :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `; lo que sigue aquí es un breve resumen.”h]”(hŒ—Las etiquetas ya mencionadas brevemente anteriormente proporcionan información sobre cómo surgió el parche. Se describen en detalle en el documento ”…””}”(hjÓhžhhŸNh Nubh)”}”(hŒ]:ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `”h]”j‡)”}”(hjÝh]”hŒ?Documentation/translations/sp_SP/process/submitting-patches.rst”…””}”(hjßhžhhŸNh Nubah}”(h]”h ]”(j’Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j†hjÛubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŸŒ refdomain”jéŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj¥Œsp_submittingpatches”uh1hhŸhØh KÖhjÓubhŒ); lo que sigue aquí es un breve resumen.”…””}”(hjÓhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÖhjÌhžhubh¨)”}”(hŒmUna etiqueta se usa para referirse a commits anteriores que introdujeron problemas corregidos por el parche::”h]”hŒlUna etiqueta se usa para referirse a commits anteriores que introdujeron problemas corregidos por el parche:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÜhjÌhžhubj)”}”(hŒpFixes: 1f2e3d4c5b6a ("La primera línea del commit especificada por los primeros 12 caracteres de su ID SHA-1.")”h]”hŒpFixes: 1f2e3d4c5b6a ("La primera línea del commit especificada por los primeros 12 caracteres de su ID SHA-1.")”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”j,j-uh1jhŸhØh KßhjÌhžhubh¨)”}”(hŒ×Otra etiqueta se utiliza para vincular páginas web con información adicional o detalles, por ejemplo, una discusión previa que condujo al parche o un documento con una especificación implementada por el parche::”h]”hŒÖOtra etiqueta se utiliza para vincular páginas web con información adicional o detalles, por ejemplo, una discusión previa que condujo al parche o un documento con una especificación implementada por el parche:”…””}”(hj!hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KáhjÌhžhubj)”}”(hŒ@Link: https://example.com/somewhere.html otras cosas opcionales”h]”hŒ@Link: https://example.com/somewhere.html otras cosas opcionales”…””}”hj/sbah}”(h]”h ]”h"]”h$]”h&]”j,j-uh1jhŸhØh KåhjÌhžhubh¨)”}”(hX+Muchos maintainers, al aplicar un parche, también agregan esta etiqueta para vincular a la última publicación de revisión pública del parche; a menudo, eso se hace automáticamente mediante herramientas como b4 o git hook como el que se describe en 'Documentation/maintainer/configure-git.rst'.”h]”hX/Muchos maintainers, al aplicar un parche, también agregan esta etiqueta para vincular a la última publicación de revisión pública del parche; a menudo, eso se hace automáticamente mediante herramientas como b4 o git hook como el que se describe en ‘Documentation/maintainer/configure-git.rst’.”…””}”(hj=hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KçhjÌhžhubh¨)”}”(hŒŽSi la URL apunta a un informe de error público que está siendo corregido por el parche, use la etiqueta “Closes:†(Cierra) en su lugar::”h]”hŒSi la URL apunta a un informe de error público que está siendo corregido por el parche, use la etiqueta “Closes:†(Cierra) en su lugar:”…””}”(hjKhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KíhjÌhžhubj)”}”(hŒ?Closes: https://example.com/issues/1234 otras cosas opcionales”h]”hŒ?Closes: https://example.com/issues/1234 otras cosas opcionales”…””}”hjYsbah}”(h]”h ]”h"]”h$]”h&]”j,j-uh1jhŸhØh KðhjÌhžhubh¨)”}”(hXGAlgunos rastreadores de errores tienen la capacidad de cerrar problemas automáticamente cuando se aplica un commit con tal etiqueta. Algunos bots que monitorean listas de correo también pueden rastrear dichas etiquetas y realizar ciertas acciones. Los rastreadores de errores privados y las URL no válidas están prohibidos.”h]”hXGAlgunos rastreadores de errores tienen la capacidad de cerrar problemas automáticamente cuando se aplica un commit con tal etiqueta. Algunos bots que monitorean listas de correo también pueden rastrear dichas etiquetas y realizar ciertas acciones. Los rastreadores de errores privados y las URL no válidas están prohibidos.”…””}”(hjghžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KòhjÌhžhubh¨)”}”(hŒOtro tipo de etiqueta se utiliza para documentar quién estuvo involucrado en el desarrollo del parche. Cada uno de estos utiliza este formato::”h]”hŒOtro tipo de etiqueta se utiliza para documentar quién estuvo involucrado en el desarrollo del parche. Cada uno de estos utiliza este formato:”…””}”(hjuhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KøhjÌhžhubj)”}”(hŒ6tag: Full Name otras cosas opcionales”h]”hŒ6tag: Full Name otras cosas opcionales”…””}”hjƒsbah}”(h]”h ]”h"]”h$]”h&]”j,j-uh1jhŸhØh KûhjÌhžhubh¨)”}”(hŒ Las etiquetas de uso común son:”h]”hŒ Las etiquetas de uso común son:”…””}”(hj‘hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KýhjÌhžhubj&)”}”(hX- Signed-off-by: esta es una certificación del desarrollador de que él o ella tiene el derecho de enviar el parche para su inclusión en el kernel. Es un acuerdo con el Certificado de Origen del Desarrollador, que se encuentra en :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `. El código sin la firma adecuada no se puede fusionar en el mainline. - Co-developed-by: indica que el parche fue co-creado por varios desarrolladores; se utiliza para atribuir a los coautores (además del autor atribuido por la etiqueta From:) cuando varias personas trabajan en un solo parche. Cada Co-developed-by: debe ir seguido inmediatamente por un Signedoff-by: del coautor asociado. Los detalles y ejemplos se pueden encontrar en :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `. - Acked-by: indica un acuerdo por parte de otro desarrollador (a menudo un maintainer del código relevante) de que el parche es apropiado para su inclusión en el kernel. - Tested-by: indica que la persona nombrada ha probado el parche y ha encontrado que funciona. - Reviewed-by: el desarrollador nombrado ha revisado el parche para verificar que sea correcto; consulte la declaración del revisor en :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst ` para obtener más detalles. - Reported-by: nombra a un usuario que informó un problema que se soluciona con este parche; esta etiqueta se utiliza para dar crédito a las personas (a menudo infravalorada) que prueban nuestro código y nos hacen saber cuándo las cosas no funcionan correctamente. Tenga en cuenta que esta etiqueta debe ir seguida de una etiqueta Closes: que apunte al informe, a menos que el informe no esté disponible en la web. La etiqueta Link: se puede usar en lugar de Closes: si el parche corrige una parte de los problemas reportados. - Cc: la persona nombrada recibió una copia del parche y tuvo la oportunidad de comentar sobre él. ”h]”j,)”}”(hhh]”(j1)”}”(hX‹Signed-off-by: esta es una certificación del desarrollador de que él o ella tiene el derecho de enviar el parche para su inclusión en el kernel. Es un acuerdo con el Certificado de Origen del Desarrollador, que se encuentra en :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `. El código sin la firma adecuada no se puede fusionar en el mainline. ”h]”h¨)”}”(hXŠSigned-off-by: esta es una certificación del desarrollador de que él o ella tiene el derecho de enviar el parche para su inclusión en el kernel. Es un acuerdo con el Certificado de Origen del Desarrollador, que se encuentra en :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `. El código sin la firma adecuada no se puede fusionar en el mainline.”h]”(hŒæSigned-off-by: esta es una certificación del desarrollador de que él o ella tiene el derecho de enviar el parche para su inclusión en el kernel. Es un acuerdo con el Certificado de Origen del Desarrollador, que se encuentra en ”…””}”(hjªhžhhŸNh Nubh)”}”(hŒ]:ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `”h]”j‡)”}”(hj´h]”hŒ?Documentation/translations/sp_SP/process/submitting-patches.rst”…””}”(hj¶hžhhŸNh Nubah}”(h]”h ]”(j’Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j†hj²ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŸŒ refdomain”jÀŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj¥Œsp_submittingpatches”uh1hhŸhØh KÿhjªubhŒG. El código sin la firma adecuada no se puede fusionar en el mainline.”…””}”(hjªhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kÿhj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj£ubj1)”}”(hXÎCo-developed-by: indica que el parche fue co-creado por varios desarrolladores; se utiliza para atribuir a los coautores (además del autor atribuido por la etiqueta From:) cuando varias personas trabajan en un solo parche. Cada Co-developed-by: debe ir seguido inmediatamente por un Signedoff-by: del coautor asociado. Los detalles y ejemplos se pueden encontrar en :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `. ”h]”h¨)”}”(hXÍCo-developed-by: indica que el parche fue co-creado por varios desarrolladores; se utiliza para atribuir a los coautores (además del autor atribuido por la etiqueta From:) cuando varias personas trabajan en un solo parche. Cada Co-developed-by: debe ir seguido inmediatamente por un Signedoff-by: del coautor asociado. Los detalles y ejemplos se pueden encontrar en :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `.”h]”(hXoCo-developed-by: indica que el parche fue co-creado por varios desarrolladores; se utiliza para atribuir a los coautores (además del autor atribuido por la etiqueta From:) cuando varias personas trabajan en un solo parche. Cada Co-developed-by: debe ir seguido inmediatamente por un Signedoff-by: del coautor asociado. Los detalles y ejemplos se pueden encontrar en ”…””}”(hjæhžhhŸNh Nubh)”}”(hŒ]:ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `”h]”j‡)”}”(hjðh]”hŒ?Documentation/translations/sp_SP/process/submitting-patches.rst”…””}”(hjòhžhhŸNh Nubah}”(h]”h ]”(j’Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j†hjîubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŸŒ refdomain”jüŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj¥Œsp_submittingpatches”uh1hhŸhØh MhjæubhŒ.”…””}”(hjæhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj£ubj1)”}”(hŒªAcked-by: indica un acuerdo por parte de otro desarrollador (a menudo un maintainer del código relevante) de que el parche es apropiado para su inclusión en el kernel. ”h]”h¨)”}”(hŒ©Acked-by: indica un acuerdo por parte de otro desarrollador (a menudo un maintainer del código relevante) de que el parche es apropiado para su inclusión en el kernel.”h]”hŒ©Acked-by: indica un acuerdo por parte de otro desarrollador (a menudo un maintainer del código relevante) de que el parche es apropiado para su inclusión en el kernel.”…””}”(hj"hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj£ubj1)”}”(hŒ]Tested-by: indica que la persona nombrada ha probado el parche y ha encontrado que funciona. ”h]”h¨)”}”(hŒ\Tested-by: indica que la persona nombrada ha probado el parche y ha encontrado que funciona.”h]”hŒ\Tested-by: indica que la persona nombrada ha probado el parche y ha encontrado que funciona.”…””}”(hj:hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj£ubj1)”}”(hXReviewed-by: el desarrollador nombrado ha revisado el parche para verificar que sea correcto; consulte la declaración del revisor en :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst ` para obtener más detalles. ”h]”h¨)”}”(hŒÿReviewed-by: el desarrollador nombrado ha revisado el parche para verificar que sea correcto; consulte la declaración del revisor en :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst ` para obtener más detalles.”h]”(hŒ†Reviewed-by: el desarrollador nombrado ha revisado el parche para verificar que sea correcto; consulte la declaración del revisor en ”…””}”(hjRhžhhŸNh Nubh)”}”(hŒ]:ref:`Documentation/translations/sp_SP/process/submitting-patches.rst `”h]”j‡)”}”(hj\h]”hŒ?Documentation/translations/sp_SP/process/submitting-patches.rst”…””}”(hj^hžhhŸNh Nubah}”(h]”h ]”(j’Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j†hjZubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŸŒ refdomain”jhŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj¥Œsp_submittingpatches”uh1hhŸhØh MhjRubhŒ para obtener más detalles.”…””}”(hjRhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj£ubj1)”}”(hXReported-by: nombra a un usuario que informó un problema que se soluciona con este parche; esta etiqueta se utiliza para dar crédito a las personas (a menudo infravalorada) que prueban nuestro código y nos hacen saber cuándo las cosas no funcionan correctamente. Tenga en cuenta que esta etiqueta debe ir seguida de una etiqueta Closes: que apunte al informe, a menos que el informe no esté disponible en la web. La etiqueta Link: se puede usar en lugar de Closes: si el parche corrige una parte de los problemas reportados. ”h]”h¨)”}”(hXReported-by: nombra a un usuario que informó un problema que se soluciona con este parche; esta etiqueta se utiliza para dar crédito a las personas (a menudo infravalorada) que prueban nuestro código y nos hacen saber cuándo las cosas no funcionan correctamente. Tenga en cuenta que esta etiqueta debe ir seguida de una etiqueta Closes: que apunte al informe, a menos que el informe no esté disponible en la web. La etiqueta Link: se puede usar en lugar de Closes: si el parche corrige una parte de los problemas reportados.”h]”hXReported-by: nombra a un usuario que informó un problema que se soluciona con este parche; esta etiqueta se utiliza para dar crédito a las personas (a menudo infravalorada) que prueban nuestro código y nos hacen saber cuándo las cosas no funcionan correctamente. Tenga en cuenta que esta etiqueta debe ir seguida de una etiqueta Closes: que apunte al informe, a menos que el informe no esté disponible en la web. La etiqueta Link: se puede usar en lugar de Closes: si el parche corrige una parte de los problemas reportados.”…””}”(hjŽhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj£ubj1)”}”(hŒcCc: la persona nombrada recibió una copia del parche y tuvo la oportunidad de comentar sobre él. ”h]”h¨)”}”(hŒbCc: la persona nombrada recibió una copia del parche y tuvo la oportunidad de comentar sobre él.”h]”hŒbCc: la persona nombrada recibió una copia del parche y tuvo la oportunidad de comentar sobre él.”…””}”(hj¦hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M#hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj£ubeh}”(h]”h ]”h"]”h$]”h&]”j˜j™uh1j+hŸhØh KÿhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hŸhØh KÿhjÌhžhubh¨)”}”(hŒûTenga cuidado al agregar etiquetas a sus parches, ya que solo Cc: es apropiado para la adición sin el permiso explícito de la persona nombrada; usar Reported-by: está casi bien en su mayoría, pero pida permiso si el error fue reportado en privado.”h]”hŒûTenga cuidado al agregar etiquetas a sus parches, ya que solo Cc: es apropiado para la adición sin el permiso explícito de la persona nombrada; usar Reported-by: está casi bien en su mayoría, pero pida permiso si el error fue reportado en privado.”…””}”(hjÆhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M&hjÌhžhubeh}”(h]”Œ)formato-de-parches-y-registros-de-cambios”ah ]”h"]”Œ)formato de parches y registros de cambios”ah$]”h&]”uh1jehjghžhhŸhØh Kubjf)”}”(hhh]”(jk)”}”(hŒEnvió del parche”h]”hŒEnvió del parche”…””}”(hjßhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jjhjÜhžhhŸhØh M,ubh¨)”}”(hŒZAntes de enviar sus parches por correo, hay un par de cosas más de las que debe ocuparse:”h]”hŒZAntes de enviar sus parches por correo, hay un par de cosas más de las que debe ocuparse:”…””}”(hjíhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M.hjÜhžhubj&)”}”(hXê- ¿Está seguro de que su correo no corromperá los parches? Los parches con cambios gratuitos de espacio en blanco o ajuste de línea realizados por el cliente de correo no se aplicarán en el otro extremo, y a menudo, no se examinarán en detalle. Si tiene alguna duda, envíese el parche por correo y convénzase de que parece intacto. :ref:`Documentation/translations/sp_SP/process/email-clients.rst ` tiene algunos consejos útiles sobre cómo hacer que clientes de correo específicos funcionen para enviar parches. - ¿Está seguro de que su parche está libre de errores tontos? Siempre debe ejecutar parches a través de scripts/checkpatch.pl y abordar las quejas que surjan. Por favor, tenga en cuenta que checkpatch.pl, aunque es la encarnación de una buena cantidad de pensamiento sobre cómo deberían ser los parches del kernel, no es más inteligente que usted. Si corregir una queja de checkpatch.pl empeoraría el código, no lo haga. ”h]”j,)”}”(hhh]”(j1)”}”(hX¿Está seguro de que su correo no corromperá los parches? Los parches con cambios gratuitos de espacio en blanco o ajuste de línea realizados por el cliente de correo no se aplicarán en el otro extremo, y a menudo, no se examinarán en detalle. Si tiene alguna duda, envíese el parche por correo y convénzase de que parece intacto. :ref:`Documentation/translations/sp_SP/process/email-clients.rst ` tiene algunos consejos útiles sobre cómo hacer que clientes de correo específicos funcionen para enviar parches. ”h]”(h¨)”}”(hXQ¿Está seguro de que su correo no corromperá los parches? Los parches con cambios gratuitos de espacio en blanco o ajuste de línea realizados por el cliente de correo no se aplicarán en el otro extremo, y a menudo, no se examinarán en detalle. Si tiene alguna duda, envíese el parche por correo y convénzase de que parece intacto.”h]”hXQ¿Está seguro de que su correo no corromperá los parches? Los parches con cambios gratuitos de espacio en blanco o ajuste de línea realizados por el cliente de correo no se aplicarán en el otro extremo, y a menudo, no se examinarán en detalle. Si tiene alguna duda, envíese el parche por correo y convénzase de que parece intacto.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M1hjubh¨)”}”(hŒÈ:ref:`Documentation/translations/sp_SP/process/email-clients.rst ` tiene algunos consejos útiles sobre cómo hacer que clientes de correo específicos funcionen para enviar parches.”h]”(h)”}”(hŒT:ref:`Documentation/translations/sp_SP/process/email-clients.rst `”h]”j‡)”}”(hjh]”hŒ:Documentation/translations/sp_SP/process/email-clients.rst”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(j’Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j†hjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŸŒ refdomain”j&Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj¥Œsp_email_clients”uh1hhŸhØh M8hjubhŒt tiene algunos consejos útiles sobre cómo hacer que clientes de correo específicos funcionen para enviar parches.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M8hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjÿubj1)”}”(hX­¿Está seguro de que su parche está libre de errores tontos? Siempre debe ejecutar parches a través de scripts/checkpatch.pl y abordar las quejas que surjan. Por favor, tenga en cuenta que checkpatch.pl, aunque es la encarnación de una buena cantidad de pensamiento sobre cómo deberían ser los parches del kernel, no es más inteligente que usted. Si corregir una queja de checkpatch.pl empeoraría el código, no lo haga. ”h]”h¨)”}”(hX¬¿Está seguro de que su parche está libre de errores tontos? Siempre debe ejecutar parches a través de scripts/checkpatch.pl y abordar las quejas que surjan. Por favor, tenga en cuenta que checkpatch.pl, aunque es la encarnación de una buena cantidad de pensamiento sobre cómo deberían ser los parches del kernel, no es más inteligente que usted. Si corregir una queja de checkpatch.pl empeoraría el código, no lo haga.”h]”hX¬¿Está seguro de que su parche está libre de errores tontos? Siempre debe ejecutar parches a través de scripts/checkpatch.pl y abordar las quejas que surjan. Por favor, tenga en cuenta que checkpatch.pl, aunque es la encarnación de una buena cantidad de pensamiento sobre cómo deberían ser los parches del kernel, no es más inteligente que usted. Si corregir una queja de checkpatch.pl empeoraría el código, no lo haga.”…””}”(hjLhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M<hjHubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjÿubeh}”(h]”h ]”h"]”h$]”h&]”j˜j™uh1j+hŸhØh M1hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hŸhØh M1hjÜhžhubh¨)”}”(hXLos parches siempre deben enviarse como texto sin formato. Por favor, no los envíe como archivos adjuntos; eso hace que sea mucho más difícil para los revisores citar secciones del parche en sus respuestas. En su lugar, simplemente coloca el parche directamente en su mensaje.”h]”hXLos parches siempre deben enviarse como texto sin formato. Por favor, no los envíe como archivos adjuntos; eso hace que sea mucho más difícil para los revisores citar secciones del parche en sus respuestas. En su lugar, simplemente coloca el parche directamente en su mensaje.”…””}”(hjlhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MDhjÜhžhubh¨)”}”(hX`Al enviar parches por correo, es importante enviar copias a cualquier persona que pueda estar interesada en ellos. A diferencia de otros proyectos, el kernel anima a la gente a equivocarse por el lado de enviar demasiadas copias; no asuma que las personas relevantes verán su publicación en las listas de correo. En particular, las copias deben ir a:”h]”hX`Al enviar parches por correo, es importante enviar copias a cualquier persona que pueda estar interesada en ellos. A diferencia de otros proyectos, el kernel anima a la gente a equivocarse por el lado de enviar demasiadas copias; no asuma que las personas relevantes verán su publicación en las listas de correo. En particular, las copias deben ir a:”…””}”(hjzhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MIhjÜhžhubj&)”}”(hXü- El (los) maintainer(s) del (de los) subsistema(s) afectado(s). Como se describió anteriormente, el archivo MAINTAINERS es el primer lugar para buscar a estas personas. - Otros desarrolladores que han estado trabajando en la misma área – especialmente aquellos que podrían estar trabajando allí ahora. Usar git para ver quién más ha modificado los archivos en los que está trabajando puede ser útil. - Si está respondiendo a un informe de error o a una solicitud de función, copie también al autor. - Envié una copia a la lista de correo relevante o, si no se aplica nada más, a la lista de linux-kernel. - Si está corrigiendo un error, piense si la corrección debe incluirse en la próxima actualización estable. Si es así, stable@vger.kernel.org debería obtener una copia del parche. También agregue un "Cc: stable@vger.kernel.org" a las etiquetas dentro del parche; eso hará que el equipo estable reciba una notificación cuando su solución incluya en el mainline. ”•ù+h]”j,)”}”(hhh]”(j1)”}”(hŒ©El (los) maintainer(s) del (de los) subsistema(s) afectado(s). Como se describió anteriormente, el archivo MAINTAINERS es el primer lugar para buscar a estas personas. ”h]”h¨)”}”(hŒ¨El (los) maintainer(s) del (de los) subsistema(s) afectado(s). Como se describió anteriormente, el archivo MAINTAINERS es el primer lugar para buscar a estas personas.”h]”hŒ¨El (los) maintainer(s) del (de los) subsistema(s) afectado(s). Como se describió anteriormente, el archivo MAINTAINERS es el primer lugar para buscar a estas personas.”…””}”(hj“hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MPhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjŒubj1)”}”(hŒîOtros desarrolladores que han estado trabajando en la misma área – especialmente aquellos que podrían estar trabajando allí ahora. Usar git para ver quién más ha modificado los archivos en los que está trabajando puede ser útil. ”h]”h¨)”}”(hŒíOtros desarrolladores que han estado trabajando en la misma área – especialmente aquellos que podrían estar trabajando allí ahora. Usar git para ver quién más ha modificado los archivos en los que está trabajando puede ser útil.”h]”hŒíOtros desarrolladores que han estado trabajando en la misma área – especialmente aquellos que podrían estar trabajando allí ahora. Usar git para ver quién más ha modificado los archivos en los que está trabajando puede ser útil.”…””}”(hj«hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MThj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjŒubj1)”}”(hŒdSi está respondiendo a un informe de error o a una solicitud de función, copie también al autor. ”h]”h¨)”}”(hŒcSi está respondiendo a un informe de error o a una solicitud de función, copie también al autor.”h]”hŒcSi está respondiendo a un informe de error o a una solicitud de función, copie también al autor.”…””}”(hjÃhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MYhj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjŒubj1)”}”(hŒjEnvié una copia a la lista de correo relevante o, si no se aplica nada más, a la lista de linux-kernel. ”h]”h¨)”}”(hŒiEnvié una copia a la lista de correo relevante o, si no se aplica nada más, a la lista de linux-kernel.”h]”hŒiEnvié una copia a la lista de correo relevante o, si no se aplica nada más, a la lista de linux-kernel.”…””}”(hjÛhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M\hj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjŒubj1)”}”(hXqSi está corrigiendo un error, piense si la corrección debe incluirse en la próxima actualización estable. Si es así, stable@vger.kernel.org debería obtener una copia del parche. También agregue un "Cc: stable@vger.kernel.org" a las etiquetas dentro del parche; eso hará que el equipo estable reciba una notificación cuando su solución incluya en el mainline. ”h]”h¨)”}”(hXpSi está corrigiendo un error, piense si la corrección debe incluirse en la próxima actualización estable. Si es así, stable@vger.kernel.org debería obtener una copia del parche. También agregue un "Cc: stable@vger.kernel.org" a las etiquetas dentro del parche; eso hará que el equipo estable reciba una notificación cuando su solución incluya en el mainline.”h]”(hŒzSi está corrigiendo un error, piense si la corrección debe incluirse en la próxima actualización estable. Si es así, ”…””}”(hjóhžhhŸNh Nubj)”}”(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”uh1jhjóubhŒC debería obtener una copia del parche. También agregue un “Cc: ”…””}”(hjóhžhhŸNh Nubj)”}”(hŒstable@vger.kernel.org”h]”hŒstable@vger.kernel.org”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:stable@vger.kernel.org”uh1jhjóubhŒ‹â€ a las etiquetas dentro del parche; eso hará que el equipo estable reciba una notificación cuando su solución incluya en el mainline.”…””}”(hjóhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M_hjïubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjŒubeh}”(h]”h ]”h"]”h$]”h&]”j˜j™uh1j+hŸhØh MPhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1j%hŸhØh MPhjÜhžhubh¨)”}”(hX Al seleccionar destinatarios para un parche, es bueno saber quién cree que eventualmente aceptará el parche y lo fusionará. Aunque es posible enviar parches directamente a Linus Torvalds y hacer que los fusione, las cosas normalmente no se hacen de esa manera. Linus está ocupado y hay maintainers de subsistemas que vigilan partes específicas del kernel. Generalmente, querrá que ese maintainer fusione sus parches. Andrew Morton es a menudo el objetivo del parche de último recurso si no hay un maintainer obvio.”h]”hX Al seleccionar destinatarios para un parche, es bueno saber quién cree que eventualmente aceptará el parche y lo fusionará. Aunque es posible enviar parches directamente a Linus Torvalds y hacer que los fusione, las cosas normalmente no se hacen de esa manera. Linus está ocupado y hay maintainers de subsistemas que vigilan partes específicas del kernel. Generalmente, querrá que ese maintainer fusione sus parches. Andrew Morton es a menudo el objetivo del parche de último recurso si no hay un maintainer obvio.”…””}”(hj;hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MfhjÜhžhubh¨)”}”(hŒoLos parches necesitan buenas líneas de asunto. El formato canónico de una línea de parche es algo así como:”h]”hŒoLos parches necesitan buenas líneas de asunto. El formato canónico de una línea de parche es algo así como:”…””}”(hjIhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MohjÜhžhubj)”}”(hŒ;[PATCH nn/mm] subsys: descripción en una línea del parche”h]”hŒ;[PATCH nn/mm] subsys: descripción en una línea del parche”…””}”hjWsbah}”(h]”h ]”h"]”h$]”h&]”j,j-uh1jhŸhØh MthjÜhžhubh¨)”}”(hŒædonde “nn†es el número ordinal del parche, “â€mm†es el número total de parches en la serie, y “subsys†es el nombre del subsistema afectado. Claramente, nn/mm se puede omitir para un parche único e independiente.”h]”hŒædonde “nn†es el número ordinal del parche, “â€mm†es el número total de parches en la serie, y “subsys†es el nombre del subsistema afectado. Claramente, nn/mm se puede omitir para un parche único e independiente.”…””}”(hjehžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MvhjÜhžhubh¨)”}”(hX’Si tiene una serie significativa de parches, es costumbre enviar una descripción introductoria como parte cero. Sin embargo, esta convención no se sigue universalmente; si la utiliza, recuerde que la información en la introducción no se incluye en los registros de cambios del kernel. Por lo tanto, asegúrese de que los parches, en sí mismos, tengan información completa del registro de cambios.”h]”hX’Si tiene una serie significativa de parches, es costumbre enviar una descripción introductoria como parte cero. Sin embargo, esta convención no se sigue universalmente; si la utiliza, recuerde que la información en la introducción no se incluye en los registros de cambios del kernel. Por lo tanto, asegúrese de que los parches, en sí mismos, tengan información completa del registro de cambios.”…””}”(hjshžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MzhjÜhžhubh¨)”}”(hXÓEn general, la segunda y las siguientes partes de un parche de varias partes deben enviarse como una respuesta a la primera parte para que todas se hilen juntas en el extremo receptor. Herramientas como git y quilt tienen comandos para enviar por correo un conjunto de parches con el subproceso adecuado. Sin embargo, si tiene una serie larga y está usando git, por favor evite la opción –chain-reply-to para evitar crear un anidamiento excepcionalmente profundo.”h]”hXÓEn general, la segunda y las siguientes partes de un parche de varias partes deben enviarse como una respuesta a la primera parte para que todas se hilen juntas en el extremo receptor. Herramientas como git y quilt tienen comandos para enviar por correo un conjunto de parches con el subproceso adecuado. Sin embargo, si tiene una serie larga y está usando git, por favor evite la opción –chain-reply-to para evitar crear un anidamiento excepcionalmente profundo.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MhjÜhžhubeh}”(h]”Œenvio-del-parche”ah ]”h"]”Œenvió del parche”ah$]”h&]”uh1jehjghžhhŸhØh M,ubeh}”(h]”(Œpublicacion-de-parches”jdeh ]”h"]”(Œpublicación de parches”Œsp_development_posting”eh$]”h&]”uh1jehhhžhhŸhØh K Œexpect_referenced_by_name”}”jjYsŒexpect_referenced_by_id”}”jdjYsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hØuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(jjNŒ 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”}”jd]”jYasŒnameids”}”(jjdjœj™jjj³j°jÉjÆjÙjÖj”j‘uŒ nametypes”}”(jˆjœ‰j‰j³‰jɉjÙ‰j”‰uh}”(jdjgj™jgjjÑj°jjÆj¶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Œ