1a0454bb5SCarlos Bilbao.. include:: ../disclaimer-sp.rst 2a0454bb5SCarlos Bilbao 3a0454bb5SCarlos Bilbao:Original: :ref:`Documentation/process/submitting-patches.rst <submittingpatches>` 4a0454bb5SCarlos Bilbao:Translator: Carlos Bilbao <carlos.bilbao@amd.com> 5a0454bb5SCarlos Bilbao 6a0454bb5SCarlos Bilbao.. _sp_submittingpatches: 7a0454bb5SCarlos Bilbao 8a0454bb5SCarlos BilbaoEnvío de parches: la guía esencial para incluir su código en el kernel 9a0454bb5SCarlos Bilbao======================================================================= 10a0454bb5SCarlos Bilbao 11a0454bb5SCarlos BilbaoPara una persona o empresa que desee enviar un cambio al kernel Linux, 12a0454bb5SCarlos Bilbaoel proceso puede en ocasiones resultar desalentador si no se está 13a0454bb5SCarlos Bilbaofamiliarizado con "el sistema". Este texto es una colección de sugerencias 14a0454bb5SCarlos Bilbaoque pueden aumentar considerablemente las posibilidades de que se acepte su 15a0454bb5SCarlos Bilbaocambio. 16a0454bb5SCarlos Bilbao 17a0454bb5SCarlos BilbaoEste documento contiene una gran cantidad de sugerencias en un formato 18a0454bb5SCarlos Bilbaorelativamente conciso. Para obtener información detallada sobre cómo 19a0454bb5SCarlos Bilbaofunciona el proceso de desarrollo del kernel, consulte 20a0454bb5SCarlos BilbaoDocumentation/process/development-process.rst. Además, lea 21a0454bb5SCarlos BilbaoDocumentation/process/submit-checklist.rst para obtener una lista de 22a0454bb5SCarlos Bilbaoelementos a verificar antes de enviar código. Para los parches de 23a0454bb5SCarlos Bilbao"binding" del árbol de dispositivos, lea 24a0454bb5SCarlos BilbaoDocumentation/devicetree/bindings/submitting-patches.rst. 25a0454bb5SCarlos Bilbao 26a0454bb5SCarlos BilbaoEsta documentación asume que está usando ``git`` para preparar sus parches. 27a0454bb5SCarlos BilbaoSi no está familiarizado con ``git``, le recomendamos que aprenda a 28a0454bb5SCarlos Bilbaousarlo, le hará la vida como desarrollador del kernel y en general mucho 29a0454bb5SCarlos Bilbaomás sencilla. 30a0454bb5SCarlos Bilbao 31a0454bb5SCarlos BilbaoAlgunos subsistemas y árboles de mantenimiento cuentan con información 32a0454bb5SCarlos Bilbaoadicional sobre su flujo de trabajo y expectativas, consulte 33a0454bb5SCarlos Bilbao:ref:`Documentation/process/maintainer-handbooks.rst <maintainer_handbooks_main>`. 34a0454bb5SCarlos Bilbao 35a0454bb5SCarlos BilbaoObtenga el código fuente actual 36a0454bb5SCarlos Bilbao-------------------------------- 37a0454bb5SCarlos Bilbao 38a0454bb5SCarlos BilbaoSi no tiene a mano un repositorio con el código fuente actual del kernel, 39a0454bb5SCarlos Bilbaouse ``git`` para obtener uno. Querrá comenzar con el repositorio principal, 40a0454bb5SCarlos Bilbaoque se puede descargar con:: 41a0454bb5SCarlos Bilbao 42a0454bb5SCarlos Bilbao git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 43a0454bb5SCarlos Bilbao 44a0454bb5SCarlos BilbaoTenga en cuenta, sin embargo, que es posible que no desee desarrollar con 45a0454bb5SCarlos Bilbaoel árbol principal directamente. La mayoría de los maintainers de 46a0454bb5SCarlos Bilbaosubsistemas usan sus propios árboles de código fuente y quieren ver parches 47a0454bb5SCarlos Bilbaopreparados para esos árboles. Revise el campo **T:** para el subsistema 48a0454bb5SCarlos Bilbaoen el archivo MAINTAINERS para encontrar dicho árbol, o simplemente 49a0454bb5SCarlos Bilbaopregunte al maintainer si el árbol no está listado allí. 50a0454bb5SCarlos Bilbao 51a0454bb5SCarlos Bilbao.. _sp_describe_changes: 52a0454bb5SCarlos Bilbao 53a0454bb5SCarlos BilbaoDescriba sus cambios 54a0454bb5SCarlos Bilbao--------------------- 55a0454bb5SCarlos Bilbao 56a0454bb5SCarlos BilbaoDescriba su problema. Sea su parche una corrección de un error de una 57a0454bb5SCarlos Bilbaolínea o 5000 líneas para una nuevo "feature", debe haber un problema 58a0454bb5SCarlos Bilbaosubyacente que le motivó a hacer ese trabajo. Convenza al revisor de que 59a0454bb5SCarlos Bilbaohay un problema que merece la pena solucionar y de que tiene sentido que 60a0454bb5SCarlos Bilbaolea más allá del primer párrafo. 61a0454bb5SCarlos Bilbao 62a0454bb5SCarlos BilbaoDescriba el impacto relativo al usuario. Cosas que estropeen el kernel y 63a0454bb5SCarlos Bilbaolos bloqueos son bastante convincentes, pero no todos los errores son tan 64a0454bb5SCarlos Bilbaoevidentes. Incluso si se detectó un problema durante la revisión del 65a0454bb5SCarlos Bilbaocódigo, describa el impacto que cree pueda tener en los usuarios. Tenga en 66a0454bb5SCarlos Bilbaocuenta que la mayoría de instalaciones de Linux ejecutan kernels desde 67a0454bb5SCarlos Bilbaoárboles estables secundarios o árboles específicos de proveedor/producto 68a0454bb5SCarlos Bilbaoque seleccionan ("cherry-pick") solo parches específicos de upstream, así 69a0454bb5SCarlos Bilbaoque incluya cualquier cosa que pueda ayudar a dirigir su cambio 70a0454bb5SCarlos Bilbaoaguas abajo: circunstancias que producen cierta situación, extractos de 71a0454bb5SCarlos Bilbaodmesg, descripciones del error fatal, regresiones de rendimiento, picos de 72a0454bb5SCarlos Bilbaolatencia, bloqueos, etc. 73a0454bb5SCarlos Bilbao 74a0454bb5SCarlos BilbaoCuantifique optimizaciones y beneficios/perdidas. Si asegura mejoras en 75a0454bb5SCarlos Bilbaorendimiento, consumo de memoria, huella del stack o tamaño de binario, 76a0454bb5SCarlos Bilbaoincluya números que lo respalden. Pero también describa costes no obvios. 77a0454bb5SCarlos BilbaoLas optimizaciones generalmente no son gratuitas, sino un equilibrio entre 78a0454bb5SCarlos BilbaoCPU, memoria y legibilidad; o, cuando se trata de heurísticas, entre 79a0454bb5SCarlos Bilbaodiferentes cargas de trabajo. Describa las desventajas esperadas de su 80a0454bb5SCarlos Bilbaooptimización para que el revisor pueda comparar las perdidas con los 81a0454bb5SCarlos Bilbaobeneficios. 82a0454bb5SCarlos Bilbao 83a0454bb5SCarlos BilbaoUna vez establecido el problema, describa lo que realmente está haciendo 84a0454bb5SCarlos Bilbaoal respecto en detalles técnicos. Es importante describir el cambio en 85a0454bb5SCarlos Bilbaolenguaje sencillo para que el revisor verifique que el código se está 86a0454bb5SCarlos Bilbaocomportando como se pretende. 87a0454bb5SCarlos Bilbao 88a0454bb5SCarlos BilbaoEl maintainer le agradecerá que escriba la descripción de su parche en un 89a0454bb5SCarlos Bilbaoformato que se pueda incorporar fácilmente en la gestión del código fuente 90a0454bb5SCarlos Bilbaodel sistema, ``git``, como un "commit log" (registros de los commits). 91a0454bb5SCarlos BilbaoConsulte :ref:`sp_the_canonical_patch_format`. 92a0454bb5SCarlos Bilbao 93a0454bb5SCarlos BilbaoResuelva solo un problema por parche. Si su descripción comienza a ser muy 94a0454bb5SCarlos Bilbaolarga, eso es una señal de que probablemente necesite dividir su parche. 95a0454bb5SCarlos BilbaoLea :ref:`split_changes`. 96a0454bb5SCarlos Bilbao 97a0454bb5SCarlos BilbaoCuando envíe o vuelva a enviar un parche o una serie de parches, incluya la 98a0454bb5SCarlos Bilbaodescripción completa del parche y justificación del mismo. No se limite a 99a0454bb5SCarlos Bilbaodecir que esa es la versión N del parche (serie). No espere que el 100a0454bb5SCarlos Bilbaomaintainer del subsistema referencie versiones de parches anteriores o use 101a0454bb5SCarlos Bilbaoreferencias URL para encontrar la descripción del parche y colocarla en el 102a0454bb5SCarlos Bilbaoparche. Es decir, el parche (serie) y su descripción deben ser 103a0454bb5SCarlos Bilbaoindependientes. Esto beneficia tanto a los maintainers como a los 104a0454bb5SCarlos Bilbaorevisores. Algunos revisores probablemente ni siquiera recibieran versiones 105a0454bb5SCarlos Bilbaoanteriores del parche. 106a0454bb5SCarlos Bilbao 107a0454bb5SCarlos BilbaoDescriba sus cambios en la forma imperativa, por ejemplo, "hacer que xyzzy 108a0454bb5SCarlos Bilbaohaga frotz" en lugar de "[Este parche] hace que xyzzy haga frotz" o "[Yo] 109a0454bb5SCarlos BilbaoCambié xyzzy para que haga frotz", como si estuviera dando órdenes al 110a0454bb5SCarlos Bilbaocódigo fuente para cambiar su comportamiento. 111a0454bb5SCarlos Bilbao 112a0454bb5SCarlos BilbaoSi desea hacer referencia a un commit específico, no se limite a hacer 113a0454bb5SCarlos Bilbaoreferencia al ID SHA-1 del commit. Incluya también el resumen de una línea 114a0454bb5SCarlos Bilbaodel commit, para que sea más fácil para los revisores saber de qué se 115a0454bb5SCarlos Bilbaotrata. 116a0454bb5SCarlos BilbaoEjemplo:: 117a0454bb5SCarlos Bilbao 118a0454bb5SCarlos Bilbao Commit e21d2170f36602ae2708 ("video: quitar platform_set_drvdata() 119a0454bb5SCarlos Bilbao innecesario") eliminó innecesario platform_set_drvdata(), pero dejó la 120a0454bb5SCarlos Bilbao variable "dev" sin usar, bórrese. 121a0454bb5SCarlos Bilbao 122a0454bb5SCarlos BilbaoTambién debe asegurarse de utilizar al menos los primeros doce caracteres 123a0454bb5SCarlos Bilbaodel identificador SHA-1. El repositorio del kernel contiene muchos *muchos* 124a0454bb5SCarlos Bilbaoobjetos, por lo que las colisiones con identificaciones más cortas son una 125a0454bb5SCarlos Bilbaoposibilidad real. Tenga en cuenta que, aunque no hay colisión con su 126a0454bb5SCarlos Bilbaoidentificación de seis caracteres ahora, esa condición puede cambiar dentro 127a0454bb5SCarlos Bilbaode cinco años. 128a0454bb5SCarlos Bilbao 129a0454bb5SCarlos BilbaoSi las discusiones relacionadas o cualquier otra información relativa al 130a0454bb5SCarlos Bilbaocambio se pueden encontrar en la web, agregue las etiquetas 'Link:' que 131a0454bb5SCarlos Bilbaoapunten a estos. En caso de que su parche corrija un error, por poner un 132a0454bb5SCarlos Bilbaoejemplo, agregue una etiqueta con una URL que haga referencia al informe en 133a0454bb5SCarlos Bilbaolos archivos de las listas de correo o un rastreador de errores; si el 134a0454bb5SCarlos Bilbaoparche es el resultado de alguna discusión anterior de la lista de correo o 135a0454bb5SCarlos Bilbaoalgo documentado en la web, referencie esto. 136a0454bb5SCarlos Bilbao 137a0454bb5SCarlos BilbaoCuando se vincule a archivos de listas de correo, preferiblemente use el 138a0454bb5SCarlos Bilbaoservicio de archivador de mensajes lore.kernel.org. Para crear la URL del 139a0454bb5SCarlos Bilbaoenlace, utilice el contenido del encabezado ("header") ``Message-Id`` del 140a0454bb5SCarlos Bilbaomensaje sin los corchetes angulares que lo rodean. 141a0454bb5SCarlos BilbaoPor ejemplo:: 142a0454bb5SCarlos Bilbao 143a0454bb5SCarlos Bilbao Link: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/ 144a0454bb5SCarlos Bilbao 145a0454bb5SCarlos BilbaoVerifique el enlace para asegurarse de que realmente funciona y apunta al 146a0454bb5SCarlos Bilbaomensaje correspondiente. 147a0454bb5SCarlos Bilbao 148a0454bb5SCarlos BilbaoSin embargo, intente que su explicación sea comprensible sin recursos 149a0454bb5SCarlos Bilbaoexternos. Además de dar una URL a un archivo o error de la lista de correo, 150a0454bb5SCarlos Bilbaoresuma los puntos relevantes de la discusión que condujeron al parche tal y 151a0454bb5SCarlos Bilbaocomo se envió. 152a0454bb5SCarlos Bilbao 153a0454bb5SCarlos BilbaoSi su parche corrige un error en un commit específico, por ejemplo 154a0454bb5SCarlos Bilbaoencontró un problema usando ``git bisect``, utilice la etiqueta 'Fixes:' 155a0454bb5SCarlos Bilbaocon los primeros 12 caracteres del ID SHA-1 y el resumen de una línea. No 156a0454bb5SCarlos Bilbaodivida la etiqueta en varias líneas, las etiquetas están exentas de la 157a0454bb5SCarlos Bilbaoregla "ajustar a 75 columnas" para simplificar análisis de scripts. Por 158a0454bb5SCarlos Bilbaoejemplo:: 159a0454bb5SCarlos Bilbao 160a0454bb5SCarlos Bilbao Fixes: 54a4f0239f2e ("KVM: MMU: hacer que kvm_mmu_zap_page() 161a0454bb5SCarlos Bilbao devuelva la cantidad de páginas que realmente liberó") 162a0454bb5SCarlos Bilbao 163a0454bb5SCarlos BilbaoLas siguientes configuraciones de ``git config`` se pueden usar para 164a0454bb5SCarlos Bilbaoagregar un bonito formato y generar este estilo con los comandos 165a0454bb5SCarlos Bilbao``git log`` o ``git show``:: 166a0454bb5SCarlos Bilbao 167a0454bb5SCarlos Bilbao [core] 168a0454bb5SCarlos Bilbao abbrev = 12 169a0454bb5SCarlos Bilbao [pretty] 170a0454bb5SCarlos Bilbao fixes = Fixes: %h (\"%s\") 171a0454bb5SCarlos Bilbao 172a0454bb5SCarlos BilbaoUn ejemplo de uso:: 173a0454bb5SCarlos Bilbao 174a0454bb5SCarlos Bilbao $ git log -1 --pretty=fixes 54a4f0239f2e 175a0454bb5SCarlos Bilbao Fixes: 54a4f0239f2e ("KVM: MMU: hacer que kvm_mmu_zap_page() devuelva la cantidad de páginas que realmente liberó") 176a0454bb5SCarlos Bilbao 177a0454bb5SCarlos Bilbao.. _sp_split_changes: 178a0454bb5SCarlos Bilbao 179a0454bb5SCarlos BilbaoSepare sus cambios 180a0454bb5SCarlos Bilbao------------------- 181a0454bb5SCarlos Bilbao 182a0454bb5SCarlos BilbaoSepare cada **cambio lógico** en un parche separado. 183a0454bb5SCarlos Bilbao 184a0454bb5SCarlos BilbaoPor ejemplo, si sus cambios incluyen correcciones de errores y mejoras en 185a0454bb5SCarlos Bilbaoel rendimiento de un controlador, separe esos cambios en dos o más parches. 186a0454bb5SCarlos BilbaoSi sus cambios incluyen una actualización de la API y una nueva controlador 187a0454bb5SCarlos Bilbaoque usa esta nueva API, sepárelos en dos parches. 188a0454bb5SCarlos Bilbao 189a0454bb5SCarlos BilbaoPor otro lado, si realiza un solo cambio en numerosos archivos, agrupe esos 190a0454bb5SCarlos Bilbaocambios en un solo parche. Por lo tanto, un solo cambio lógico estará 191a0454bb5SCarlos Bilbaocontenido en un solo parche. 192a0454bb5SCarlos Bilbao 193a0454bb5SCarlos BilbaoEl punto a recordar es que cada parche debe realizar un cambio que puede 194a0454bb5SCarlos Bilbaoser verificado por los revisores fácilmente. Cada parche debe ser 195a0454bb5SCarlos Bilbaojustificable por sus propios méritos. 196a0454bb5SCarlos Bilbao 197a0454bb5SCarlos BilbaoSi un parche depende de otro parche para que un cambio sea completo, eso 198a0454bb5SCarlos Bilbaoestá bien. Simplemente incluya que **"este parche depende del parche X"** 199a0454bb5SCarlos Bilbaoen la descripción de su parche. 200a0454bb5SCarlos Bilbao 201a0454bb5SCarlos BilbaoCuando divida su cambio en una serie de parches, tenga especial cuidado en 202a0454bb5SCarlos Bilbaoasegurarse de que el kernel se compila y ejecuta correctamente después de 203a0454bb5SCarlos Bilbaocada parche en la serie. Los desarrolladores que usan ``git bisect`` 204a0454bb5SCarlos Bilbaopara rastrear un problema pueden terminar dividiendo su serie de parches en 205a0454bb5SCarlos Bilbaocualquier punto; no le agradecerán si introdujo errores a la mitad. 206a0454bb5SCarlos Bilbao 207a0454bb5SCarlos BilbaoSi no puede condensar su conjunto de parches en un conjunto más pequeño de 208a0454bb5SCarlos Bilbaoparches, solo publique, más o menos 15 a la vez, y espere la revisión e 209a0454bb5SCarlos Bilbaointegración. 210a0454bb5SCarlos Bilbao 211a0454bb5SCarlos Bilbao 212a0454bb5SCarlos BilbaoRevise el estilo en sus cambios 213a0454bb5SCarlos Bilbao-------------------------------- 214a0454bb5SCarlos Bilbao 215a0454bb5SCarlos BilbaoRevise su parche para ver si hay violaciones de estilo básico, cuyos 216a0454bb5SCarlos Bilbaodetalles pueden ser encontrados en Documentation/process/coding-style.rst. 217a0454bb5SCarlos BilbaoNo hacerlo simplemente desperdicia el tiempo de los revisores y su parche 218a0454bb5SCarlos Bilbaoserá rechazado, probablemente sin siquiera ser leído. 219a0454bb5SCarlos Bilbao 220a0454bb5SCarlos BilbaoUna excepción importante es cuando se mueve código de un archivo a otro. 221a0454bb5SCarlos BilbaoEn tal caso, en absoluto debe modificar el código movido en el mismo parche 222a0454bb5SCarlos Bilbaoen que lo mueve. Esto divide claramente el acto de mover el código y sus 223a0454bb5SCarlos Bilbaocambios. Esto ayuda mucho a la revisión de la diferencias reales y permite 224a0454bb5SCarlos Bilbaoque las herramientas rastreen mejor el historial del código en sí. 225a0454bb5SCarlos Bilbao 226a0454bb5SCarlos BilbaoVerifique sus parches con el verificador de estilo de parches antes de 227a0454bb5SCarlos Bilbaoenviarlos (scripts/checkpatch.pl). Tenga en cuenta, sin embargo, que el 228a0454bb5SCarlos Bilbaoverificador de estilo debe ser visto como una guía, no como un reemplazo 229a0454bb5SCarlos Bilbaodel juicio humano. Si su código es mejor con una violación entonces 230a0454bb5SCarlos Bilbaoprobablemente sea mejor dejarlo estar. 231a0454bb5SCarlos Bilbao 232a0454bb5SCarlos BilbaoEl verificador informa a tres niveles: 233a0454bb5SCarlos Bilbao - ERROR: cosas que es muy probable que estén mal 234a0454bb5SCarlos Bilbao - WARNING: Advertencia. Cosas que requieren una revisión cuidadosa 235a0454bb5SCarlos Bilbao - CHECK: Revisar. Cosas que requieren pensarlo 236a0454bb5SCarlos Bilbao 237a0454bb5SCarlos BilbaoDebe poder justificar todas las violaciones que permanezcan en su parche. 238a0454bb5SCarlos Bilbao 239a0454bb5SCarlos Bilbao 240a0454bb5SCarlos BilbaoSeleccione los destinatarios de su parche 241a0454bb5SCarlos Bilbao------------------------------------------ 242a0454bb5SCarlos Bilbao 243a0454bb5SCarlos BilbaoSiempre debe incluir en copia a los apropiados maintainers del subsistema 244a0454bb5SCarlos Bilbaoen cualquier parche con código que mantengan; revise a través del archivo 245a0454bb5SCarlos BilbaoMAINTAINERS y el historial de revisión del código fuente para ver quiénes 246a0454bb5SCarlos Bilbaoson esos maintainers. El script scripts/get_maintainer.pl puede ser muy 247a0454bb5SCarlos Bilbaoútil en este paso (pase rutas a sus parches como argumentos para 248a0454bb5SCarlos Bilbaoscripts/get_maintainer.pl). Si no puede encontrar un maintainer del 249a0454bb5SCarlos Bilbaosubsistema en el que está trabajando, Andrew Morton 250a0454bb5SCarlos Bilbao(akpm@linux-foundation.org) sirve como maintainer de último recurso. 251a0454bb5SCarlos Bilbao 252a0454bb5SCarlos BilbaoNormalmente, también debe elegir al menos una lista de correo para recibir 253a0454bb5SCarlos Bilbaouna copia de su conjunto de parches. linux-kernel@vger.kernel.org debe 254a0454bb5SCarlos Bilbaousarse de forma predeterminada para todos los parches, pero el volumen en 255a0454bb5SCarlos Bilbaoesta lista ha hecho que muchos desarrolladores se desconecten. Busque en el 256a0454bb5SCarlos Bilbaoarchivo MAINTAINERS una lista específica de los subsistemas; su parche 257a0454bb5SCarlos Bilbaoprobablemente recibirá más atención allí. Sin embargo, no envíe spam a 258a0454bb5SCarlos Bilbaolistas no relacionadas. 259a0454bb5SCarlos Bilbao 260a0454bb5SCarlos BilbaoMuchas listas relacionadas con el kernel están alojadas en vger.kernel.org; 261a0454bb5SCarlos Bilbaopuedes encontrar un listado de estas en 262a0454bb5SCarlos Bilbaohttp://vger.kernel.org/vger-lists.html. Existen listas relacionadas con el 263a0454bb5SCarlos Bilbaokernel alojadas en otros lugares, no obstante. 264a0454bb5SCarlos Bilbao 265a0454bb5SCarlos Bilbao¡No envíe más de 15 parches a la vez a las listas de correo de vger! 266a0454bb5SCarlos Bilbao 267a0454bb5SCarlos BilbaoLinus Torvalds es el árbitro final de todos los cambios aceptados en el 268a0454bb5SCarlos Bilbaokernel de Linux. Su dirección de correo electrónico es 269a0454bb5SCarlos Bilbao<torvalds@linux-foundation.org>. Recibe muchos correos electrónicos y, en 270a0454bb5SCarlos Bilbaoeste momento, muy pocos parches pasan por Linus directamente, por lo que 271a0454bb5SCarlos Bilbaonormalmente debe hacer todo lo posible para -evitar- enviarle un correo 272a0454bb5SCarlos Bilbaoelectrónico. 273a0454bb5SCarlos Bilbao 274a0454bb5SCarlos BilbaoSi tiene un parche que corrige un error de seguridad explotable, envíe ese 275a0454bb5SCarlos Bilbaoparche a security@kernel.org. Para errores graves, se debe mantener un 276a0454bb5SCarlos Bilbaopoco de discreción y permitir que los distribuidores entreguen el parche a 277a0454bb5SCarlos Bilbaolos usuarios; en esos casos, obviamente, el parche no debe enviarse a 278a0454bb5SCarlos Bilbaoninguna lista pública. Revise también 279*44ac5abaSVegard NossumDocumentation/process/security-bugs.rst. 280a0454bb5SCarlos Bilbao 281a0454bb5SCarlos BilbaoLos parches que corrigen un error grave en un kernel en uso deben dirigirse 282a0454bb5SCarlos Bilbaohacia los maintainers estables poniendo una línea como esta:: 283a0454bb5SCarlos Bilbao 284a0454bb5SCarlos Bilbao CC: stable@vger.kernel.org 285a0454bb5SCarlos Bilbao 286a0454bb5SCarlos Bilbaoen el área de sign-off de su parche (es decir, NO un destinatario de correo 287a0454bb5SCarlos Bilbaoelectrónico). También debe leer 288a0454bb5SCarlos BilbaoDocumentation/process/stable-kernel-rules.rst además de este documento. 289a0454bb5SCarlos Bilbao 290a0454bb5SCarlos BilbaoSi los cambios afectan las interfaces del kernel para el usuario, envíe al 291a0454bb5SCarlos Bilbaomaintainer de las MAN-PAGES (como se indica en el archivo MAINTAINERS) un 292a0454bb5SCarlos Bilbaoparche de páginas de manual, o al menos una notificación del cambio, para 293a0454bb5SCarlos Bilbaoque alguna información se abra paso en las páginas del manual. Los cambios 294a0454bb5SCarlos Bilbaode la API del espacio de usuario también deben copiarse en 295a0454bb5SCarlos Bilbaolinux-api@vger.kernel.org. 296a0454bb5SCarlos Bilbao 297a0454bb5SCarlos Bilbao 298a0454bb5SCarlos BilbaoSin MIME, enlaces, compresión o archivos adjuntos. Solo texto plano 299a0454bb5SCarlos Bilbao-------------------------------------------------------------------- 300a0454bb5SCarlos Bilbao 301a0454bb5SCarlos BilbaoLinus y otros desarrolladores del kernel deben poder leer y comentar sobre 302a0454bb5SCarlos Bilbaolos cambios que está enviando. Es importante para un desarrollador kernel 303a0454bb5SCarlos Bilbaopoder "citar" sus cambios, utilizando herramientas estándar de correo 304a0454bb5SCarlos Bilbaoelectrónico, de modo que puedan comentar sobre partes específicas de su 305a0454bb5SCarlos Bilbaocódigo. 306a0454bb5SCarlos Bilbao 307a0454bb5SCarlos BilbaoPor este motivo, todos los parches deben enviarse por correo electrónico 308a0454bb5SCarlos Bilbao"inline". La forma más sencilla de hacerlo es con ``git send-email``, que 309a0454bb5SCarlos Bilbaoes muy recomendable. Un tutorial interactivo para ``git send-email`` está 310a0454bb5SCarlos Bilbaodisponible en https://git-send-email.io. 311a0454bb5SCarlos Bilbao 312a0454bb5SCarlos BilbaoSi elige no usar ``git send-email``: 313a0454bb5SCarlos Bilbao 314a0454bb5SCarlos Bilbao.. warning:: 315a0454bb5SCarlos Bilbao 316a0454bb5SCarlos Bilbao Tenga cuidado con el ajuste de palabras de su editor que corrompe su 317a0454bb5SCarlos Bilbao parche, si elige cortar y pegar su parche. 318a0454bb5SCarlos Bilbao 319a0454bb5SCarlos BilbaoNo adjunte el parche como un archivo adjunto MIME, comprimido o no. Muchas 320a0454bb5SCarlos Bilbaopopulares aplicaciones de correo electrónico no siempre transmiten un MIME 321a0454bb5SCarlos Bilbaoarchivo adjunto como texto sin formato, por lo que es imposible comentar 322a0454bb5SCarlos Bilbaoen su código. Linus también necesita un poco más de tiempo para procesar un 323a0454bb5SCarlos Bilbaoarchivo adjunto MIME, disminuyendo la probabilidad de que se acepte su 324a0454bb5SCarlos Bilbaocambio adjunto en MIME. 325a0454bb5SCarlos Bilbao 326a0454bb5SCarlos BilbaoExcepción: si su proveedor de correo está destrozando parches, entonces 327a0454bb5SCarlos Bilbaoalguien puede pedir que los vuelva a enviar usando MIME. 328a0454bb5SCarlos Bilbao 329a0454bb5SCarlos BilbaoConsulte Documentation/process/email-clients.rst para obtener sugerencias 330a0454bb5SCarlos Bilbaosobre cómo configurar su cliente de correo electrónico para que envíe sus 331a0454bb5SCarlos Bilbaoparches intactos. 332a0454bb5SCarlos Bilbao 333a0454bb5SCarlos BilbaoResponda a los comentarios de revisión 334a0454bb5SCarlos Bilbao--------------------------------------- 335a0454bb5SCarlos Bilbao 336a0454bb5SCarlos BilbaoEs casi seguro que su parche recibirá comentarios de los revisores sobre 337a0454bb5SCarlos Bilbaomaneras en que se pueda mejorar el parche, en forma de respuesta a su 338a0454bb5SCarlos Bilbaocorreo electrónico. Debe responder a esos comentarios; ignorar a los 339a0454bb5SCarlos Bilbaorevisores es una buena manera de ser ignorado de vuelta. Simplemente puede 340a0454bb5SCarlos Bilbaoresponder a sus correos electrónicos para contestar a sus comentarios. 341a0454bb5SCarlos BilbaoRevisiones a los comentarios o preguntas que no conduzcan a un cambio de 342a0454bb5SCarlos Bilbaocódigo deben casi con certeza generar un comentario o una entrada en el 343a0454bb5SCarlos Bilbao"changelog" para que el próximo revisor entienda lo que está pasando. 344a0454bb5SCarlos Bilbao 345a0454bb5SCarlos BilbaoAsegúrese de decirles a los revisores qué cambios está haciendo y de 346a0454bb5SCarlos Bilbaoagradecerles que dediquen su tiempo. La revisión del código es un proceso 347a0454bb5SCarlos Bilbaoagotador y lento, y los revisores a veces se ponen de mal humor. Sin 348a0454bb5SCarlos Bilbaoembargo, incluso en ese caso, responda cortésmente y aborde los problemas 349a0454bb5SCarlos Bilbaoque hayan señalado. Al enviar un siguiente versión, agregue un 350a0454bb5SCarlos Bilbao``patch changelog`` (registro de cambios en los parches) a la carta de 351a0454bb5SCarlos Bilbaopresentación ("cover letter") o a parches individuales explicando la 352a0454bb5SCarlos Bilbaodiferencia con la presentación anterior (ver 353a0454bb5SCarlos Bilbao:ref:`sp_the_canonical_patch_format`). 354a0454bb5SCarlos Bilbao 355a0454bb5SCarlos BilbaoConsulte Documentation/process/email-clients.rst para obtener 356a0454bb5SCarlos Bilbaorecomendaciones sobre clientes de correo electrónico y normas de etiqueta 357a0454bb5SCarlos Bilbaoen la lista de correo. 358a0454bb5SCarlos Bilbao 359a0454bb5SCarlos Bilbao.. _sp_resend_reminders: 360a0454bb5SCarlos Bilbao 361a0454bb5SCarlos BilbaoNo se desanime o impaciente 362a0454bb5SCarlos Bilbao--------------------------- 363a0454bb5SCarlos Bilbao 364a0454bb5SCarlos BilbaoDespués de haber entregado su cambio, sea paciente y espere. Los revisores 365a0454bb5SCarlos Bilbaoson personas ocupadas y es posible que no lleguen a su parche de inmediato. 366a0454bb5SCarlos Bilbao 367a0454bb5SCarlos BilbaoÉrase una vez, los parches solían desaparecer en el vacío sin comentarios, 368a0454bb5SCarlos Bilbaopero el proceso de desarrollo funciona mejor que eso ahora. Debería 369a0454bb5SCarlos Bilbaorecibir comentarios dentro de una semana más o menos; si eso no sucede, 370a0454bb5SCarlos Bilbaoasegúrese de que ha enviado sus parches al lugar correcto. Espere un mínimo 371a0454bb5SCarlos Bilbaode una semana antes de volver a enviar o hacer ping a los revisores, 372a0454bb5SCarlos Bilbaoposiblemente más durante periodos de mucho trabajo ocupados como "merge 373a0454bb5SCarlos Bilbaowindows". 374a0454bb5SCarlos Bilbao 375a0454bb5SCarlos BilbaoTambién está bien volver a enviar el parche o la serie de parches después 376a0454bb5SCarlos Bilbaode un par de semanas con la palabra "RESEND" (reenviar) añadida a la línea 377a0454bb5SCarlos Bilbaode asunto:: 378a0454bb5SCarlos Bilbao 379a0454bb5SCarlos Bilbao [PATCH Vx RESEND] sub/sys: Resumen condensado de parche 380a0454bb5SCarlos Bilbao 381a0454bb5SCarlos BilbaoNo incluya "RESEND" cuando envíe una versión modificada de su parche o 382a0454bb5SCarlos Bilbaoserie de parches: "RESEND" solo se aplica al reenvío de un parche o serie 383a0454bb5SCarlos Bilbaode parches que no hayan sido modificados de ninguna manera con respecto a 384a0454bb5SCarlos Bilbaola presentación anterior. 385a0454bb5SCarlos Bilbao 386a0454bb5SCarlos Bilbao 387a0454bb5SCarlos BilbaoIncluya PATCH en el asunto 388a0454bb5SCarlos Bilbao-------------------------- 389a0454bb5SCarlos Bilbao 390a0454bb5SCarlos BilbaoDebido al alto tráfico de correo electrónico a Linus y al kernel de Linux, 391a0454bb5SCarlos Bilbaoes común prefijar su línea de asunto con [PATCH]. Esto le permite a Linus 392a0454bb5SCarlos Bilbaoy otros desarrolladores del kernel distinguir más fácilmente los parches de 393a0454bb5SCarlos Bilbaootras discusiones por correo electrónico. 394a0454bb5SCarlos Bilbao 395a0454bb5SCarlos Bilbao``git send-email`` lo hará automáticamente. 396a0454bb5SCarlos Bilbao 397a0454bb5SCarlos Bilbao 398a0454bb5SCarlos BilbaoFirme su trabajo: el Certificado de Origen del Desarrollador 399a0454bb5SCarlos Bilbao------------------------------------------------------------ 400a0454bb5SCarlos Bilbao 401a0454bb5SCarlos BilbaoPara mejorar el seguimiento de quién hizo qué, especialmente con parches 402a0454bb5SCarlos Bilbaoque pueden filtrarse hasta su destino final a través de varias capas de 403a0454bb5SCarlos Bilbaomaintainers, hemos introducido un procedimiento de "sign-off" (aprobación) 404a0454bb5SCarlos Bilbaoen parches que se envían por correo electrónico. 405a0454bb5SCarlos Bilbao 406a0454bb5SCarlos BilbaoLa aprobación es una simple línea al final de la explicación del parche, 407a0454bb5SCarlos Bilbaoque certifica que usted lo escribió o que tiene derecho a enviarlo como un 408a0454bb5SCarlos Bilbaoparche de código abierto. Las reglas son bastante simples: si usted puede 409a0454bb5SCarlos Bilbaocertificar lo siguiente: 410a0454bb5SCarlos Bilbao 411a0454bb5SCarlos BilbaoCertificado de Origen del Desarrollador 1.1 412a0454bb5SCarlos Bilbao^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 413a0454bb5SCarlos Bilbao 414a0454bb5SCarlos BilbaoAl hacer una contribución a este proyecto, certifico que: 415a0454bb5SCarlos Bilbao 416a0454bb5SCarlos Bilbao (a) La contribución fue creada en su totalidad o en parte por mí y 417a0454bb5SCarlos Bilbao tengo derecho a enviarlo bajo la licencia de código abierto 418a0454bb5SCarlos Bilbao indicada en el documento; o 419a0454bb5SCarlos Bilbao 420a0454bb5SCarlos Bilbao (b) La contribución se basa en trabajo previo que, hasta donde yo 421a0454bb5SCarlos Bilbao soy consciente, está cubierto por una licencia de código 422a0454bb5SCarlos Bilbao abierto apropiada y tengo el derecho bajo esa licencia de 423a0454bb5SCarlos Bilbao presentar tal trabajo con modificaciones, ya sean creadas en su 424a0454bb5SCarlos Bilbao totalidad o en parte por mí, bajo la misma licencia de código 425a0454bb5SCarlos Bilbao (salvo que sea permitido presentar bajo una licencia diferente), 426a0454bb5SCarlos Bilbao tal y como se indica en el documento; o 427a0454bb5SCarlos Bilbao 428a0454bb5SCarlos Bilbao (c) La contribución me fue proporcionada directamente por alguna 429a0454bb5SCarlos Bilbao otra persona que certificó (a), (b) o (c) y no he modificado 430a0454bb5SCarlos Bilbao esto. 431a0454bb5SCarlos Bilbao 432a0454bb5SCarlos Bilbao (d) Entiendo y acepto que este proyecto y la contribución 433a0454bb5SCarlos Bilbao son públicos y que un registro de la contribución (incluyendo 434a0454bb5SCarlos Bilbao toda la información personal que envío con él, incluida mi 435a0454bb5SCarlos Bilbao firma) es mantenida indefinidamente y puede ser redistribuida 436a0454bb5SCarlos Bilbao de manera consistente con este proyecto o la(s) licencia(s) de 437a0454bb5SCarlos Bilbao código abierto involucradas. 438a0454bb5SCarlos Bilbao 439a0454bb5SCarlos Bilbaoentonces simplemente incluya una línea que rece:: 440a0454bb5SCarlos Bilbao 441a0454bb5SCarlos Bilbao Signed-off-by: Random J Developer <random@developer.example.org> 442a0454bb5SCarlos Bilbao 443a0454bb5SCarlos Bilbaousando su nombre real (lamentablemente, no pseudónimos ni contribuciones 444a0454bb5SCarlos Bilbaoanónimas). Esto se hará por usted automáticamente si usa ``git commit -s``. 445a0454bb5SCarlos BilbaoLas reversiones de código también deben incluir "Signed-off-by". 446a0454bb5SCarlos Bilbao``git revert -s`` hace eso por usted. 447a0454bb5SCarlos Bilbao 448a0454bb5SCarlos BilbaoAlgunas personas también ponen etiquetas adicionales al final. Simplemente 449a0454bb5SCarlos Bilbaoserán ignoradas por ahora, pero puede hacer esto para marcar procedimientos 450a0454bb5SCarlos Bilbaointernos de su empresa o simplemente señalar algún detalle especial sobre 451a0454bb5SCarlos Bilbaola firma. 452a0454bb5SCarlos Bilbao 453a0454bb5SCarlos BilbaoCualquier otro SoB (Signed-off-by:) después del SoB del autor es de 454a0454bb5SCarlos Bilbaopersonas que manipulen y transporten el parche, pero no participaron en su 455a0454bb5SCarlos Bilbaodesarrollo. Las cadenas de SoB deben reflejar la ruta **real** del parche 456a0454bb5SCarlos Bilbaode cómo se propagó a los maintainers y, en última instancia, a Linus, con 457a0454bb5SCarlos Bilbaola primera entrada de SoB que señala la autoría principal de un solo autor. 458a0454bb5SCarlos Bilbao 459a0454bb5SCarlos Bilbao 460a0454bb5SCarlos BilbaoCuándo usar Acked-by:, Cc: y Co-developed-by por: 461a0454bb5SCarlos Bilbao------------------------------------------------- 462a0454bb5SCarlos Bilbao 463a0454bb5SCarlos BilbaoLa etiqueta Signed-off-by: indica que el firmante estuvo involucrado en el 464a0454bb5SCarlos Bilbaodesarrollo del parche, o que él/ella se encontraba en el camino de entrega 465a0454bb5SCarlos Bilbaodel parche. 466a0454bb5SCarlos Bilbao 467a0454bb5SCarlos BilbaoSi una persona no estuvo directamente involucrada en la preparación o 468a0454bb5SCarlos Bilbaoadministración de un parche pero desea expresar y registrar su aprobación, 469a0454bb5SCarlos Bilbaoentonces puede pedir que se agregue una línea Acked-by: al registro de 470a0454bb5SCarlos Bilbaocambios del parche. 471a0454bb5SCarlos Bilbao 472a0454bb5SCarlos BilbaoAcked-by: a menudo lo usa el maintainer del código afectado cuando ese 473a0454bb5SCarlos Bilbaomaintainer no contribuyó ni envió el parche. 474a0454bb5SCarlos Bilbao 475a0454bb5SCarlos BilbaoAcked-by: no es tan formal como Signed-off-by:. Es una manera de marcar que 476a0454bb5SCarlos Bilbaoel "acker" ha revisado al menos ese parche y ha indicado su aceptación. Por 477a0454bb5SCarlos Bilbaolos merge de parches a veces convertirán manualmente el "sí, me parece bien" 478a0454bb5SCarlos Bilbaode un acker en un Acked-by: (pero tenga en cuenta que por lo general es 479a0454bb5SCarlos Bilbaomejor pedir un acuse de recibo explícito). 480a0454bb5SCarlos Bilbao 481a0454bb5SCarlos BilbaoAcked-by: no necesariamente indica el reconocimiento de todo el parche. 482a0454bb5SCarlos BilbaoPor ejemplo, si un parche afecta a varios subsistemas y tiene un 483a0454bb5SCarlos BilbaoAcked-by: de un maintainer del subsistema, entonces esto generalmente 484a0454bb5SCarlos Bilbaoindica el reconocimiento de solo la parte que afecta el código de ese 485a0454bb5SCarlos Bilbaomaintainer. Buen juicio debe ejercitarse aquí. En caso de duda, la gente 486a0454bb5SCarlos Bilbaodebe consultar la discusión original en los archivos de la lista de correo. 487a0454bb5SCarlos Bilbao 488a0454bb5SCarlos BilbaoSi una persona ha tenido la oportunidad de comentar un parche, pero no lo 489a0454bb5SCarlos Bilbaoha hecho, puede incluir opcionalmente una etiqueta ``Cc:`` al parche. 490a0454bb5SCarlos BilbaoEsta es la única etiqueta que se puede agregar sin una acción explícita por 491a0454bb5SCarlos Bilbaoparte de la persona a la que se nombre - pero debe indicar que esta persona 492a0454bb5SCarlos Bilbaofue copiada en el parche. Esta etiqueta documenta que las partes 493a0454bb5SCarlos Bilbaopotencialmente interesadas han sido incluidas en la discusión. 494a0454bb5SCarlos Bilbao 495a0454bb5SCarlos BilbaoCo-developed-by: establece que el parche fue co-creado por múltiples 496a0454bb5SCarlos Bilbaodesarrolladores; se utiliza para dar atribución a los coautores (además del 497a0454bb5SCarlos Bilbaoautor atribuido por la etiqueta From:) cuando varias personas trabajan en 498a0454bb5SCarlos Bilbaoun solo parche. Ya que Co-developed-by: denota autoría, cada 499a0454bb5SCarlos BilbaoCo-developed-by: debe ser inmediatamente seguido de Signed-off-by: del 500a0454bb5SCarlos Bilbaocoautor asociado. Se mantiene el procedimiento estándar, es decir, el orden 501a0454bb5SCarlos Bilbaode las etiquetas Signed-off-by: debe reflejar el historial cronológico del 502a0454bb5SCarlos Bilbaoparche en la medida de lo posible, independientemente de si el autor se 503a0454bb5SCarlos Bilbaoatribuye a través de From: o Co-developed-by:. Cabe destacar que el último 504a0454bb5SCarlos BilbaoSigned-off-by: siempre debe ser del desarrollador que envía el parche. 505a0454bb5SCarlos Bilbao 506a0454bb5SCarlos BilbaoTenga en cuenta que la etiqueta From: es opcional cuando el autor From: es 507a0454bb5SCarlos Bilbaotambién la persona (y correo electrónico) enumerados en la línea From: del 508a0454bb5SCarlos Bilbaoencabezado del correo electrónico. 509a0454bb5SCarlos Bilbao 510a0454bb5SCarlos BilbaoEjemplo de un parche enviado por el From: autor:: 511a0454bb5SCarlos Bilbao 512a0454bb5SCarlos Bilbao <changelog> 513a0454bb5SCarlos Bilbao 514a0454bb5SCarlos Bilbao Co-developed-by: Primer coautor <primer@coauthor.example.org> 515a0454bb5SCarlos Bilbao Signed-off-by: Primer coautor <primer@coauthor.example.org> 516a0454bb5SCarlos Bilbao Co-developed-by: Segundo coautor <segundo@coautor.ejemplo.org> 517a0454bb5SCarlos Bilbao Signed-off-by: Segundo coautor <segundo@coautor.ejemplo.org> 518a0454bb5SCarlos Bilbao Signed-off-by: Autor del From <from@author.example.org> 519a0454bb5SCarlos Bilbao 520a0454bb5SCarlos BilbaoEjemplo de un parche enviado por un Co-developed-by: autor:: 521a0454bb5SCarlos Bilbao 522a0454bb5SCarlos Bilbao From: Autor del From <from@author.example.org> 523a0454bb5SCarlos Bilbao 524a0454bb5SCarlos Bilbao <changelog> 525a0454bb5SCarlos Bilbao 526a0454bb5SCarlos Bilbao Co-developed-by: Co-Autor aleatorio <aleatorio@coauthor.example.org> 527a0454bb5SCarlos Bilbao Signed-off-by: Coautor aleatorio <aleatorio@coauthor.example.org> 528a0454bb5SCarlos Bilbao Signed-off-by: Autor del From <from@author.example.org> 529a0454bb5SCarlos Bilbao Co-developed-by: Coautor que envió <sub@coauthor.example.org> 530a0454bb5SCarlos Bilbao Signed-off-by: Coautor que envía <sub@coauthor.example.org> 531a0454bb5SCarlos Bilbao 532a0454bb5SCarlos BilbaoUso de Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: y Fixes: 533a0454bb5SCarlos Bilbao---------------------------------------------------------------------- 534a0454bb5SCarlos Bilbao 535a0454bb5SCarlos BilbaoLa etiqueta Reported-by (Reportado-por) otorga crédito a las personas que 536a0454bb5SCarlos Bilbaoencuentran errores y los reportan. Por favor, tenga en cuenta que si se 537a0454bb5SCarlos Bilbaoinformó de un error en privado, debe pedir primero permiso antes de usar la 538a0454bb5SCarlos Bilbaoetiqueta Reported-by. La etiqueta está destinada a errores; por favor no la 539a0454bb5SCarlos Bilbaouse para acreditar peticiones de características. 540a0454bb5SCarlos Bilbao 541a0454bb5SCarlos BilbaoUna etiqueta Tested-by: indica que el parche se probó con éxito (en algún 542a0454bb5SCarlos Bilbaoentorno) por la persona nombrada. Esta etiqueta informa a los maintainers 543a0454bb5SCarlos Bilbaode que se han realizado algunas pruebas, proporciona un medio para ubicar 544a0454bb5SCarlos Bilbao"testers" (gente que pruebe) otros parches futuros y asegura el crédito 545a0454bb5SCarlos Bilbaopara los testers. 546a0454bb5SCarlos Bilbao 547a0454bb5SCarlos BilbaoReviewed-by: en cambio, indica que el parche ha sido revisado y encontrado 548a0454bb5SCarlos Bilbaoaceptable de acuerdo con la Declaración del Revisor: 549a0454bb5SCarlos Bilbao 550a0454bb5SCarlos BilbaoDeclaración de Supervisión del Revisor 551a0454bb5SCarlos Bilbao^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 552a0454bb5SCarlos Bilbao 553a0454bb5SCarlos BilbaoAl ofrecer mi etiqueta Reviewed-by:, afirmo que: 554a0454bb5SCarlos Bilbao 555a0454bb5SCarlos Bilbao(a) He llevado a cabo una revisión técnica de este parche para 556a0454bb5SCarlos Bilbaoevaluar su idoneidad y preparación para su inclusión en 557a0454bb5SCarlos Bilbaoel kernel principal. 558a0454bb5SCarlos Bilbao 559a0454bb5SCarlos Bilbao(b) Cualquier problema, inquietud o pregunta relacionada con el parche 560a0454bb5SCarlos Bilbaohan sido comunicados al remitente. Estoy satisfecho 561a0454bb5SCarlos Bilbaocon la respuesta del remitente a mis comentarios. 562a0454bb5SCarlos Bilbao 563a0454bb5SCarlos Bilbao(c) Si bien puede haber cosas que podrían mejorarse con esta 564a0454bb5SCarlos Bilbaoentrega, creo que es, en este momento, (1) una 565a0454bb5SCarlos Bilbaomodificación valiosa al kernel, y (2) libre de conocidas 566a0454bb5SCarlos Bilbaocuestiones que argumentarían en contra de su inclusión. 567a0454bb5SCarlos Bilbao 568a0454bb5SCarlos Bilbao(d) Si bien he revisado el parche y creo que es correcto, 569a0454bb5SCarlos Bilbaono hago (a menos que se indique explícitamente en otro lugar) ninguna 570a0454bb5SCarlos Bilbaogarantía o avales de que logrará su definido 571a0454bb5SCarlos Bilbaopropósito o función en cualquier situación dada. 572a0454bb5SCarlos Bilbao 573a0454bb5SCarlos BilbaoUna etiqueta Reviewed-by es una declaración de opinión de que el parche es 574a0454bb5SCarlos Bilbaouna modificación apropiada al kernel sin que haya ningún problema grave 575a0454bb5SCarlos Bilbaoa nivel técnico. Cualquier revisor interesado (que haya hecho el trabajo) 576a0454bb5SCarlos Bilbaopuede ofrecer una etiqueta Reviewed-by para un parche. Esta etiqueta sirve 577a0454bb5SCarlos Bilbaopara dar crédito a revisores e informar a los maintainers del grado de 578a0454bb5SCarlos Bilbaorevisión que se ha hecho en el parche. Las etiquetas Reviewed-by, cuando 579a0454bb5SCarlos Bilbaolas otorgan revisores conocidos por entender del tema y realizar 580a0454bb5SCarlos Bilbaorevisiones exhaustivas, normalmente aumentan la probabilidad de que su 581a0454bb5SCarlos Bilbaoparche entre en el kernel. 582a0454bb5SCarlos Bilbao 583a0454bb5SCarlos BilbaoLas etiquetas Tested-by y Reviewed-by, una vez recibidas en la lista de 584a0454bb5SCarlos Bilbaocorreo por el tester o revisor, deben ser incluidas por el autor de los 585a0454bb5SCarlos Bilbaoparches pertinentes al enviar próximas versiones. Sin embargo, si el parche 586a0454bb5SCarlos Bilbaoha cambiado sustancialmente en la siguiente versión, es posible que estas 587a0454bb5SCarlos Bilbaoetiquetas ya no sean aplicables y, por lo tanto, deben eliminarse. Por lo 588a0454bb5SCarlos Bilbaogeneral, se debe mencionar la eliminación de las etiquetas Tested-by o 589a0454bb5SCarlos BilbaoReviewed-by de alguien en el registro de cambios del parche (después del 590a0454bb5SCarlos Bilbaoseparador '---'). 591a0454bb5SCarlos Bilbao 592a0454bb5SCarlos BilbaoUna etiqueta Suggested-by: indica que la idea del parche es sugerida por la 593a0454bb5SCarlos Bilbaopersona nombrada y asegura el crédito a la persona por la idea. Tenga en 594a0454bb5SCarlos Bilbaocuenta que esto no debe agregarse sin el permiso del "reporter", 595a0454bb5SCarlos Bilbaoespecialmente si la idea no fue publicada en un foro público. Dicho esto, 596a0454bb5SCarlos Bilbaosi diligentemente acreditamos a los reporters de ideas, con suerte, se 597a0454bb5SCarlos Bilbaosentirán inspirados para ayudarnos nuevamente en el futuro. 598a0454bb5SCarlos Bilbao 599a0454bb5SCarlos BilbaoUna etiqueta Fixes: indica que el parche corrige un problema en un commit 600a0454bb5SCarlos Bilbaoanterior. Esto se utiliza para facilitar descubrir dónde se originó un 601a0454bb5SCarlos Bilbaoerror, lo que puede ayudar a revisar una corrección de errores. Esta 602a0454bb5SCarlos Bilbaoetiqueta también ayuda al equipo del kernel estable a determinar qué 603a0454bb5SCarlos Bilbaoversiones estables del kernel deberían recibir su corrección. Este es el 604a0454bb5SCarlos Bilbaométodo preferido para indicar un error corregido por el parche. Revise 605a0454bb5SCarlos Bilbao:ref:`describe_changes` para más detalles. 606a0454bb5SCarlos Bilbao 607a0454bb5SCarlos BilbaoNota: Adjuntar una etiqueta Fixes: no subvierte las reglas estables del 608a0454bb5SCarlos Bilbaoproceso del kernel ni el requisito de CC: stable@vger.kernel.org en todos 609a0454bb5SCarlos Bilbaolos parches candidatos de ramas estables. Para obtener más información, lea 610a0454bb5SCarlos BilbaoDocumentation/process/stable-kernel-rules.rst. 611a0454bb5SCarlos Bilbao 612a0454bb5SCarlos Bilbao.. _sp_the_canonical_patch_format: 613a0454bb5SCarlos Bilbao 614a0454bb5SCarlos BilbaoFormato de parche canónico 615a0454bb5SCarlos Bilbao--------------------------- 616a0454bb5SCarlos Bilbao 617a0454bb5SCarlos BilbaoEsta sección describe cómo debe darse formato al propio parche. Tenga en 618a0454bb5SCarlos Bilbaocuenta que, si tiene sus parches almacenados en un repositorio ``git``, el 619a0454bb5SCarlos Bilbaoparche con formato adecuado se puede obtener con ``git format-patch``. Las 620a0454bb5SCarlos Bilbaoherramientas no pueden crear el texto necesario, sin embargo, así que lea 621a0454bb5SCarlos Bilbaolas instrucciones a continuación de todos modos. 622a0454bb5SCarlos Bilbao 623a0454bb5SCarlos BilbaoLa línea de asunto del parche canónico es:: 624a0454bb5SCarlos Bilbao 625a0454bb5SCarlos Bilbao Asunto: [PATCH 001/123] subsistema: frase de resumen 626a0454bb5SCarlos Bilbao 627a0454bb5SCarlos BilbaoEl cuerpo del mensaje del parche canónico contiene lo siguiente: 628a0454bb5SCarlos Bilbao 629a0454bb5SCarlos Bilbao - Una línea ``from`` que especifica el autor del parche, seguida de una 630a0454bb5SCarlos Bilbao línea vacía (solo es necesario si la persona que envía el parche no es 631a0454bb5SCarlos Bilbao el autor). 632a0454bb5SCarlos Bilbao 633a0454bb5SCarlos Bilbao - El cuerpo de la explicación, línea envuelta en 75 columnas, que se 634a0454bb5SCarlos Bilbao copiara en el registro de cambios permanente para describir este parche. 635a0454bb5SCarlos Bilbao 636a0454bb5SCarlos Bilbao - Una línea vacía. 637a0454bb5SCarlos Bilbao 638a0454bb5SCarlos Bilbao - Las líneas ``Signed-off-by:``, descritas anteriormente, que 639a0454bb5SCarlos Bilbao también vaya en el registro de cambios. 640a0454bb5SCarlos Bilbao 641a0454bb5SCarlos Bilbao - Una línea de marcador que contiene simplemente ``---``. 642a0454bb5SCarlos Bilbao 643a0454bb5SCarlos Bilbao - Cualquier comentario adicional que no sea adecuado para el registro de 644a0454bb5SCarlos Bilbao cambios. 645a0454bb5SCarlos Bilbao 646a0454bb5SCarlos Bilbao - El parche real (output de ``diff``). 647a0454bb5SCarlos Bilbao 648a0454bb5SCarlos BilbaoEl formato de la línea de asunto hace que sea muy fácil ordenar los correos 649a0454bb5SCarlos Bilbaoelectrónicos alfabéticamente por línea de asunto - prácticamente cualquier 650a0454bb5SCarlos Bilbaolector de correo electrónico permite esto, ya que debido a que el número de 651a0454bb5SCarlos Bilbaosecuencia se rellena con ceros, el orden numérico y alfabético es el mismo. 652a0454bb5SCarlos Bilbao 653a0454bb5SCarlos BilbaoEl ``subsistema`` en el asunto del correo electrónico debe identificar qué 654a0454bb5SCarlos Bilbaoárea o subsistema del kernel está siendo parcheado. 655a0454bb5SCarlos Bilbao 656a0454bb5SCarlos BilbaoLa ``frase de resumen`` en el Asunto del correo electrónico debe describir 657a0454bb5SCarlos Bilbaode forma concisa el parche que contiene ese correo electrónico. La 658a0454bb5SCarlos Bilbao``frase resumen`` no debe ser un nombre de archivo. No use la mismo ``frase 659a0454bb5SCarlos Bilbaoresumen`` para cada parche en una serie completa de parches (donde una 660a0454bb5SCarlos Bilbao`` serie de parches`` (patch series) es una secuencia ordenada de múltiples 661a0454bb5SCarlos Bilbaoparches relacionados). 662a0454bb5SCarlos Bilbao 663a0454bb5SCarlos BilbaoTenga en cuenta que la ``frase de resumen`` de su correo electrónico se 664a0454bb5SCarlos Bilbaoconvierte en un identificador global único para ese parche. Se propaga por 665a0454bb5SCarlos Bilbaohasta el registro de cambios de ``git``. La ``frase resumida`` se puede 666a0454bb5SCarlos Bilbaousar más adelante en discusiones de desarrolladores que se refieran al 667a0454bb5SCarlos Bilbaoparche. La gente querrá buscar en Google la ``frase de resumen`` para leer 668a0454bb5SCarlos Bilbaola discusión al respecto del parche. También será lo único que la gente 669a0454bb5SCarlos Bilbaopodrá ver rápidamente cuando, dos o tres meses después, estén pasando por 670a0454bb5SCarlos Bilbaoquizás miles de parches usando herramientas como ``gitk`` o ``git log 671a0454bb5SCarlos Bilbao--oneline``. 672a0454bb5SCarlos Bilbao 673a0454bb5SCarlos BilbaoPor estas razones, el ``resumen`` no debe tener más de 70-75 caracteres, y 674a0454bb5SCarlos Bilbaodebe describir tanto lo que cambia el parche como por qué el parche podría 675a0454bb5SCarlos Bilbaoser necesario. Es un reto ser tanto sucinto como descriptivo, pero eso es 676a0454bb5SCarlos Bilbaolo que un resumen bien escrito debería hacer. 677a0454bb5SCarlos Bilbao 678a0454bb5SCarlos BilbaoLa ``frase de resumen`` puede estar precedida por etiquetas encerradas en 679a0454bb5SCarlos Bilbaocorchetes: "Asunto: [PATCH <etiqueta>...] <frase de resumen>". Las 680a0454bb5SCarlos Bilbaoetiquetas no se consideran parte de la frase de resumen, pero describen 681a0454bb5SCarlos Bilbaocómo debería ser tratado el parche. Las etiquetas comunes pueden incluir un 682a0454bb5SCarlos Bilbaodescriptor de versión si las múltiples versiones del parche se han enviado 683a0454bb5SCarlos Bilbaoen respuesta a comentarios (es decir, "v1, v2, v3") o "RFC" para indicar 684a0454bb5SCarlos Bilbaouna solicitud de comentarios. 685a0454bb5SCarlos Bilbao 686a0454bb5SCarlos BilbaoSi hay cuatro parches en una serie de parches, los parches individuales 687a0454bb5SCarlos Bilbaopueden enumerarse así: 1/4, 2/4, 3/4, 4/4. Esto asegura que los 688a0454bb5SCarlos Bilbaodesarrolladores entiendan el orden en que se deben aplicar los parches y 689a0454bb5SCarlos Bilbaoque han revisado o aplicado todos los parches de la serie de parches. 690a0454bb5SCarlos Bilbao 691a0454bb5SCarlos BilbaoAquí hay algunos buenos ejemplos de Asuntos:: 692a0454bb5SCarlos Bilbao 693a0454bb5SCarlos Bilbao Asunto: [PATCH 2/5] ext2: mejorar la escalabilidad de la búsqueda de mapas de bits 694a0454bb5SCarlos Bilbao Asunto: [PATCH v2 27/01] x86: corregir el seguimiento de eflags 695a0454bb5SCarlos Bilbao Asunto: [PATCH v2] sub/sys: resumen conciso del parche 696a0454bb5SCarlos Bilbao Asunto: [PATCH v2 M/N] sub/sys: resumen conciso del parche 697a0454bb5SCarlos Bilbao 698a0454bb5SCarlos BilbaoLa línea ``from`` debe ser la primera línea en el cuerpo del mensaje, 699a0454bb5SCarlos Bilbaoy tiene la forma:: 700a0454bb5SCarlos Bilbao 701a0454bb5SCarlos Bilbao From: Autor del parche <autor@ejemplo.com> 702a0454bb5SCarlos Bilbao 703a0454bb5SCarlos BilbaoLa línea ``From`` especifica quién será acreditado como el autor del parche 704a0454bb5SCarlos Bilbaoen el registro de cambios permanente. Si falta la línea ``from``, entonces 705a0454bb5SCarlos Bilbaola línea ``From:`` del encabezado del correo electrónico se usará para 706a0454bb5SCarlos Bilbaodeterminar el autor del parche en el registro de cambios. 707a0454bb5SCarlos Bilbao 708a0454bb5SCarlos BilbaoLa explicación estará incluida en el commit del changelog permanente, por 709a0454bb5SCarlos Bilbaolo que debería tener sentido para un lector competente que hace mucho tiempo 710a0454bb5SCarlos Bilbaoha olvidado los detalles de la discusión que podrían haber llevado a 711a0454bb5SCarlos Bilbaoeste parche. Incluidos los síntomas del fallo que el parche trate 712a0454bb5SCarlos Bilbao(mensajes de registro del kernel, mensajes de oops, etc.) son especialmente 713a0454bb5SCarlos Bilbaoútiles para personas que podrían estar buscando en los registros de 714a0454bb5SCarlos Bilbaocommits en busca de la aplicación del parche. El texto debe estar escrito 715a0454bb5SCarlos Bilbaocon tal detalle que cuando se lea semanas, meses o incluso años después, 716a0454bb5SCarlos Bilbaopueda dar al lector la información necesaria y detalles para comprender el 717a0454bb5SCarlos Bilbaorazonamiento de **por qué** se creó el parche. 718a0454bb5SCarlos Bilbao 719a0454bb5SCarlos BilbaoSi un parche corrige una falla de compilación, puede que no sea necesario 720a0454bb5SCarlos Bilbaoincluir _todos_ los errores de compilación; pero lo suficiente como para 721a0454bb5SCarlos Bilbaoque sea probable que alguien que busque el parche puede encontrarlo. Como 722a0454bb5SCarlos Bilbaoen la ``frase de resumen``, es importante ser tanto sucinto como 723a0454bb5SCarlos Bilbaodescriptivo. 724a0454bb5SCarlos Bilbao 725a0454bb5SCarlos BilbaoLa línea marcadora ``---`` cumple el propósito esencial de marcar para 726a0454bb5SCarlos Bilbaoherramientas de manejo de parches donde termina el mensaje de registro de 727a0454bb5SCarlos Bilbaocambios. 728a0454bb5SCarlos Bilbao 729a0454bb5SCarlos BilbaoUn buen uso de los comentarios adicionales después del marcador ``---`` es 730a0454bb5SCarlos Bilbaopara ``diffstat``, para mostrar qué archivos han cambiado, y el número de 731a0454bb5SCarlos Bilbaolíneas insertadas y eliminadas por archivo. Un ``diffstat`` es 732a0454bb5SCarlos Bilbaoespecialmente útil en parches más grandes. Si va a incluir un ``diffstat`` 733a0454bb5SCarlos Bilbaodespués del marcador ``---``, utilice las opciones ``diffstat`` 734a0454bb5SCarlos Bilbao``-p 1 -w 70`` para que los nombres de archivo se enumeran desde la parte 735a0454bb5SCarlos Bilbaosuperior del árbol de fuentes del kernel y no use demasiado espacio 736a0454bb5SCarlos Bilbaohorizontal (que encaje fácilmente en 80 columnas, tal vez con alguna 737a0454bb5SCarlos Bilbaoindentación). (``git`` genera diffstats apropiados por defecto). 738a0454bb5SCarlos Bilbao 739a0454bb5SCarlos BilbaoOtros comentarios relevantes solo en el momento o para el maintainer, pero 740a0454bb5SCarlos Bilbaono adecuados para el registro de cambios permanente, también debe ir aquí. 741a0454bb5SCarlos BilbaoUn buen ejemplo de tales comentarios podría ser ``registros de cambios de 742a0454bb5SCarlos Bilbaoparches`` que describen qué ha cambiado entre la versión v1 y v2 del 743a0454bb5SCarlos Bilbaoparche. 744a0454bb5SCarlos Bilbao 745a0454bb5SCarlos BilbaoPor favor, ponga esta información **después** de la línea ``---`` que 746a0454bb5SCarlos Bilbaosepara el registro de cambios del resto del parche. La información de la 747a0454bb5SCarlos Bilbaoversión no forma parte del registro de cambios que se incluye con el árbol 748a0454bb5SCarlos Bilbaogit. Es información adicional para los revisores. Si se coloca encima de la 749a0454bb5SCarlos Bilbaoetiquetas de commit, necesita interacción manual para eliminarlo. Si esta 750a0454bb5SCarlos Bilbaodebajo de la línea de separación, se quita automáticamente al aplicar el 751a0454bb5SCarlos Bilbaoparche:: 752a0454bb5SCarlos Bilbao 753a0454bb5SCarlos Bilbao <mensaje de commit> 754a0454bb5SCarlos Bilbao ... 755a0454bb5SCarlos Bilbao Signed-off-by: Autor <autor@correo> 756a0454bb5SCarlos Bilbao --- 757a0454bb5SCarlos Bilbao V2 -> V3: función auxiliar redundante eliminada 758a0454bb5SCarlos Bilbao V1 -> V2: estilo de código limpio y comentarios de revisión abordados 759a0454bb5SCarlos Bilbao 760a0454bb5SCarlos Bilbao ruta/al/archivo | 5+++-- 761a0454bb5SCarlos Bilbao ... 762a0454bb5SCarlos Bilbao 763a0454bb5SCarlos BilbaoRevise más detalles sobre el formato de parche adecuado en las siguientes 764a0454bb5SCarlos Bilbaoreferencias 765a0454bb5SCarlos Bilbao 766a0454bb5SCarlos Bilbao.. _sp_backtraces: 767a0454bb5SCarlos Bilbao 768a0454bb5SCarlos BilbaoRetrocesos en mensajes de confirmación 769a0454bb5SCarlos Bilbao^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 770a0454bb5SCarlos Bilbao 771a0454bb5SCarlos BilbaoLos "backtraces" (deshacer el camino) ayuda a documentar la cadena de 772a0454bb5SCarlos Bilbaollamadas que conducen a un problema. Sin embargo, no todos los rastreos son 773a0454bb5SCarlos Bilbaoútiles. Por ejemplo, las tempranas cadenas de llamadas de inicio son únicas 774a0454bb5SCarlos Bilbaoy obvias. Sin embargo, al copiar la salida completa de dmesg textualmente, 775a0454bb5SCarlos Bilbaoincluye información que distrae, como marcas de tiempo, listas de módulos, 776a0454bb5SCarlos Bilbaoregistro y volcados de pila. 777a0454bb5SCarlos Bilbao 778a0454bb5SCarlos BilbaoPor lo tanto, los backtraces más útiles deben contener los datos 779a0454bb5SCarlos Bilbaorelevantes de la información vertida, lo que hace que sea más fácil 780a0454bb5SCarlos Bilbaocentrarse en el verdadero tema. Este es un ejemplo de un backtrace bien 781a0454bb5SCarlos Bilbaorecortado:: 782a0454bb5SCarlos Bilbao 783a0454bb5SCarlos Bilbao error de acceso de MSR no verificado: WRMSR a 0xd51 (intentó escribir 0x0000000000000064) 784a0454bb5SCarlos Bilbao en rIP: 0xffffffffae059994 (native_write_msr+0x4/0x20) 785a0454bb5SCarlos Bilbao Rastreo de llamadas: 786a0454bb5SCarlos Bilbao mba_wrmsr 787a0454bb5SCarlos Bilbao update_domains 788a0454bb5SCarlos Bilbao rdtgroup_mkdir 789a0454bb5SCarlos Bilbao 790a0454bb5SCarlos Bilbao.. _sp_explicit_in_reply_to: 791a0454bb5SCarlos Bilbao 792a0454bb5SCarlos BilbaoIn-Reply-To explicitos en las cabeceras 793a0454bb5SCarlos Bilbao--------------------------------------- 794a0454bb5SCarlos Bilbao 795a0454bb5SCarlos BilbaoPuede ser útil agregar manualmente encabezados In-Reply-To: a un parche 796a0454bb5SCarlos Bilbao(por ejemplo, al usar ``git send-email``) para asociar el parche con una 797a0454bb5SCarlos Bilbaodiscusión anterior relevante, por ejemplo para vincular una corrección de 798a0454bb5SCarlos Bilbaoerrores al correo electrónico con el informe de errores. Sin embargo, para 799a0454bb5SCarlos Bilbaouna serie de parches múltiples, generalmente es mejor evitar usar 800a0454bb5SCarlos BilbaoIn-Reply-To: para vincular a versiones anteriores de la serie. De esta 801a0454bb5SCarlos Bilbaoforma, varias versiones del parche no se convierten en un inmanejable 802a0454bb5SCarlos Bilbaobosque de referencias en clientes de correo electrónico. Si un enlace es 803a0454bb5SCarlos Bilbaoútil, puede usar el redirector https://lore.kernel.org/ (por ejemplo, en 804a0454bb5SCarlos Bilbaoel texto de la carta de introducción del correo electrónico) para vincular 805a0454bb5SCarlos Bilbaoa una versión anterior de la serie de parches. 806a0454bb5SCarlos Bilbao 807a0454bb5SCarlos Bilbao 808a0454bb5SCarlos BilbaoProporcionar información de árbol base 809a0454bb5SCarlos Bilbao-------------------------------------- 810a0454bb5SCarlos Bilbao 811a0454bb5SCarlos BilbaoCuando otros desarrolladores reciben sus parches y comienzan el proceso de 812a0454bb5SCarlos Bilbaorevisión, a menudo es útil para ellos saber en qué parte del historial del 813a0454bb5SCarlos Bilbaoárbol deben colocar su trabajo. Esto es particularmente útil para CI 814a0454bb5SCarlos Bilbaoautomatizado de procesos que intentan ejecutar una serie de pruebas para 815a0454bb5SCarlos Bilbaoestablecer la calidad de su envío antes de que el maintainer comience la 816a0454bb5SCarlos Bilbaorevisión. 817a0454bb5SCarlos Bilbao 818a0454bb5SCarlos BilbaoSi está utilizando ``git format-patch`` para generar sus parches, puede 819a0454bb5SCarlos Bilbaoincluir automáticamente la información del árbol base en su envío usando el 820a0454bb5SCarlos Bilbaoparámetro ``--base``. La forma más fácil y conveniente de usar esta opción 821a0454bb5SCarlos Bilbaoes con "topical branches" (ramas de temas):: 822a0454bb5SCarlos Bilbao 823a0454bb5SCarlos Bilbao $ git checkout -t -b my-topical-branch master 824a0454bb5SCarlos Bilbao Branch 'my-topical-branch' set up to track local branch 'master'. 825a0454bb5SCarlos Bilbao Switched to a new branch 'my-topical-branch' 826a0454bb5SCarlos Bilbao 827a0454bb5SCarlos Bilbao [realice sus cambios y ediciones] 828a0454bb5SCarlos Bilbao 829a0454bb5SCarlos Bilbao $ git format-patch --base=auto --cover-letter -o outgoing/ master 830a0454bb5SCarlos Bilbao outgoing/0000-cover-letter.patch 831a0454bb5SCarlos Bilbao outgoing/0001-First-Commit.patch 832a0454bb5SCarlos Bilbao outgoing/... 833a0454bb5SCarlos Bilbao 834a0454bb5SCarlos BilbaoCuando abra ``outgoing/0000-cover-letter.patch`` para editar, tenga en 835a0454bb5SCarlos Bilbaocuenta que tendrá el tráiler ``base-commit:`` al final, que proporciona al 836a0454bb5SCarlos Bilbaorevisor y a las herramientas de CI suficiente información para realizar 837a0454bb5SCarlos Bilbaocorrectamente ``git am`` sin preocuparse por los conflictos:: 838a0454bb5SCarlos Bilbao 839a0454bb5SCarlos Bilbao $ git checkout -b patch-review [base-commit-id] 840a0454bb5SCarlos Bilbao Switched to a new branch 'patch-review' 841a0454bb5SCarlos Bilbao $ git am patches.mbox 842a0454bb5SCarlos Bilbao Applying: First Commit 843a0454bb5SCarlos Bilbao Applying: ... 844a0454bb5SCarlos Bilbao 845a0454bb5SCarlos BilbaoConsulte ``man git-format-patch`` para obtener más información al respecto 846a0454bb5SCarlos Bilbaode esta opción. 847a0454bb5SCarlos Bilbao 848a0454bb5SCarlos Bilbao.. Note:: 849a0454bb5SCarlos Bilbao 850a0454bb5SCarlos Bilbao La función ``--base`` se introdujo en la versión 2.9.0 de git. 851a0454bb5SCarlos Bilbao 852a0454bb5SCarlos BilbaoSi no está utilizando git para dar forma a sus parches, aún puede incluir 853a0454bb5SCarlos Bilbaoel mismo tráiler ``base-commit`` para indicar el hash de confirmación del 854a0454bb5SCarlos Bilbaoárbol en que se basa su trabajo. Debe agregarlo en la carta de presentación 855a0454bb5SCarlos Bilbaoo en el primer parche de la serie y debe colocarse ya sea bajo la línea 856a0454bb5SCarlos Bilbao``---`` o en la parte inferior de todos los demás contenido, justo antes de 857a0454bb5SCarlos Bilbaosu firma del correo electrónico. 858a0454bb5SCarlos Bilbao 859a0454bb5SCarlos Bilbao 860a0454bb5SCarlos BilbaoReferencias 861a0454bb5SCarlos Bilbao----------- 862a0454bb5SCarlos Bilbao 863a0454bb5SCarlos Bilbao"The perfect patch" (tpp) por Andrew Morton. 864a0454bb5SCarlos Bilbao <https://www.ozlabs.org/~akpm/stuff/tpp.txt> 865a0454bb5SCarlos Bilbao 866a0454bb5SCarlos Bilbao"Linux kernel patch submission format" por Jeff Garzik. 867a0454bb5SCarlos Bilbao <https://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html> 868a0454bb5SCarlos Bilbao 869a0454bb5SCarlos Bilbao"How to piss off a kernel subsystem maintainer" por Greg Kroah-Hartman. 870a0454bb5SCarlos Bilbao <http://www.kroah.com/log/linux/maintainer.html> 871a0454bb5SCarlos Bilbao 872a0454bb5SCarlos Bilbao <http://www.kroah.com/log/linux/maintainer-02.html> 873a0454bb5SCarlos Bilbao 874a0454bb5SCarlos Bilbao <http://www.kroah.com/log/linux/maintainer-03.html> 875a0454bb5SCarlos Bilbao 876a0454bb5SCarlos Bilbao <http://www.kroah.com/log/linux/maintainer-04.html> 877a0454bb5SCarlos Bilbao 878a0454bb5SCarlos Bilbao <http://www.kroah.com/log/linux/maintainer-05.html> 879a0454bb5SCarlos Bilbao 880a0454bb5SCarlos Bilbao <http://www.kroah.com/log/linux/maintainer-06.html> 881a0454bb5SCarlos Bilbao 882a0454bb5SCarlos BilbaoNO!!!! Gente, no mas bombas enormes de parches a linux-kernel@vger.kernel.org! 883a0454bb5SCarlos Bilbao <https://lore.kernel.org/r/20050711.125305.08322243.davem@davemloft.net> 884a0454bb5SCarlos Bilbao 885a0454bb5SCarlos BilbaoKernel Documentation/process/coding-style.rst 886a0454bb5SCarlos Bilbao 887a0454bb5SCarlos BilbaoEmail de Linus Torvalds sobre la forma canónica de los parches: 888a0454bb5SCarlos Bilbao <https://lore.kernel.org/r/Pine.LNX.4.58.0504071023190.28951@ppc970.osdl.org> 889a0454bb5SCarlos Bilbao 890a0454bb5SCarlos Bilbao"On submitting kernel patches" por Andi Kleen 891a0454bb5SCarlos Bilbao Algunas estrategias para conseguir incluir cambios complicados o 892a0454bb5SCarlos Bilbao controvertidos. 893a0454bb5SCarlos Bilbao 894a0454bb5SCarlos Bilbao http://halobates.de/on-submitting-patches.pdf 895