xref: /linux/Documentation/translations/sp_SP/process/5.Posting.rst (revision 1260ed77798502de9c98020040d2995008de10cc)
1169e54c2SAvadhut Naik.. include:: ../disclaimer-sp.rst
2169e54c2SAvadhut Naik
3169e54c2SAvadhut Naik:Original: Documentation/process/5.Posting.rst
4*08c42f22SAvadhut Naik:Translator: Carlos Bilbao <carlos.bilbao.osdev@gmail.com> and Avadhut Naik <avadhut.naik@amd.com>
5169e54c2SAvadhut Naik
6169e54c2SAvadhut Naik.. _sp_development_posting:
7169e54c2SAvadhut Naik
8*08c42f22SAvadhut NaikPublicación de parches
9*08c42f22SAvadhut Naik======================
10169e54c2SAvadhut Naik
11*08c42f22SAvadhut NaikTarde o temprano, llega el momento en que su trabajo esté listo para ser
12*08c42f22SAvadhut Naikpresentado a la comunidad para su revisión y, eventualmente, su inclusión
13*08c42f22SAvadhut Naiken el kernel mainline. Como era de esperar, la comunidad de desarrollo del
14*08c42f22SAvadhut Naikkernel ha desarrollado un conjunto de convenciones y procedimientos que se
15*08c42f22SAvadhut Naikutilizan en la publicación de parches; seguirlos hará la vida mucho más
16*08c42f22SAvadhut Naikfácil para todos los involucrados. Este documento intentará cubrir estas
17*08c42f22SAvadhut Naikexpectativas con un detalle razonable; también se puede encontrar más
18*08c42f22SAvadhut Naikinformación en los archivos.
19*08c42f22SAvadhut Naik:ref:`Documentation/translations/sp_SP/process/submitting-patches.rst <sp_submittingpatches>`
20*08c42f22SAvadhut Naikand :ref:`Documentation/translations/sp_SP/process/submit-checklist.rst <sp_submitchecklist>`
21*08c42f22SAvadhut Naik
22*08c42f22SAvadhut NaikCuando publicar
23*08c42f22SAvadhut Naik---------------
24*08c42f22SAvadhut Naik
25*08c42f22SAvadhut NaikHay una tentación constante de evitar publicar parches antes de que
26*08c42f22SAvadhut Naikestén completamente “listos”. Para parches simples, eso no es un
27*08c42f22SAvadhut Naikproblema. Sin embargo, si el trabajo que se está realizando es complejo,
28*08c42f22SAvadhut Naikhay mucho que ganar al obtener comentarios de la comunidad antes de que
29*08c42f22SAvadhut Naikse complete el trabajo. Por lo tanto, se debería considerar publicar
30*08c42f22SAvadhut Naiktrabajo en progreso, o incluso poner a disposición un árbol de git para
31*08c42f22SAvadhut Naikque los desarrolladores interesados puedan ponerse al día con su trabajo
32*08c42f22SAvadhut Naiken cualquier momento.
33*08c42f22SAvadhut Naik
34*08c42f22SAvadhut NaikAl publicar código que aún no se considera listo para su inclusión, es
35*08c42f22SAvadhut Naikuna buena idea decirlo en la propia publicación. Además, mencione
36*08c42f22SAvadhut Naikcualquier trabajo importante que aún falte por hacer y cualquier problema
37*08c42f22SAvadhut Naikconocido. Menos personas mirarán los parches que se sabe que están a
38*08c42f22SAvadhut Naikmedias, pero aquellos que lo hagan vendrán con la idea de que pueden
39*08c42f22SAvadhut Naikayudarlo a llevar el trabajo en la dirección correcta.
40*08c42f22SAvadhut Naik
41*08c42f22SAvadhut NaikAntes de crear parches
42*08c42f22SAvadhut Naik----------------------
43*08c42f22SAvadhut Naik
44*08c42f22SAvadhut NaikSe deben hacer varias cosas antes de considerar enviar parches a la
45*08c42f22SAvadhut Naikcomunidad de desarrollo. Estas incluyen:
46*08c42f22SAvadhut Naik
47*08c42f22SAvadhut Naik - Pruebe el código en la medida de lo posible. Utilice las herramientas
48*08c42f22SAvadhut Naik   de depuración del kernel, asegúrese de que el kernel se compilará con
49*08c42f22SAvadhut Naik   todas las combinaciones razonables de opciones de configuración, use
50*08c42f22SAvadhut Naik   compiladores cruzados para compilar para diferentes arquitecturas, etc.
51*08c42f22SAvadhut Naik
52*08c42f22SAvadhut Naik - Asegúrese de que su código cumpla con las directrices de estilo de
53*08c42f22SAvadhut Naik   codificación del kernel.
54*08c42f22SAvadhut Naik
55*08c42f22SAvadhut Naik - ¿Su cambio tiene implicaciones de rendimiento? Si es así, debe ejecutar
56*08c42f22SAvadhut Naik   puntos de referencia que muestren cuál es el impacto (o beneficio) de
57*08c42f22SAvadhut Naik   su cambio; se debe incluir un resumen de los resultados con el parche.
58*08c42f22SAvadhut Naik
59*08c42f22SAvadhut Naik - Asegúrese de que tiene derecho a publicar el código. Si este trabajo
60*08c42f22SAvadhut Naik   se realizó para un empleador, es probable que el empleador tenga
61*08c42f22SAvadhut Naik   derecho al trabajo y debe estar de acuerdo con su lanzamiento bajo la
62*08c42f22SAvadhut Naik   GPL.
63*08c42f22SAvadhut Naik
64*08c42f22SAvadhut NaikComo regla general, pensar un poco más antes de publicar el código casi
65*08c42f22SAvadhut Naiksiempre compensa el esfuerzo en poco tiempo.
66*08c42f22SAvadhut Naik
67*08c42f22SAvadhut NaikPreparación del parche
68*08c42f22SAvadhut Naik----------------------
69*08c42f22SAvadhut Naik
70*08c42f22SAvadhut NaikLa preparación de parches para su publicación puede ser una cantidad
71*08c42f22SAvadhut Naiksorprendente de trabajo, pero, una vez más, intentar ahorrar tiempo aquí
72*08c42f22SAvadhut Naikgeneralmente no es recomendable, ni siquiera a corto plazo.
73*08c42f22SAvadhut Naik
74*08c42f22SAvadhut NaikLos parches deben prepararse contra una versión específica del kernel.
75*08c42f22SAvadhut NaikComo regla general, un parche debe basarse en el mainline actual que se
76*08c42f22SAvadhut Naikencuentra en el árbol git de Linus. Al basarse en el mainline, comience
77*08c42f22SAvadhut Naikcon un punto de lanzamiento bien conocido, una versión estable o -rc, en
78*08c42f22SAvadhut Naiklugar de bifurcarse fuera del mainline en un punto arbitrario.
79*08c42f22SAvadhut Naik
80*08c42f22SAvadhut NaikPuede ser necesario hacer revisiones contra -mm, linux-next o un árbol de
81*08c42f22SAvadhut Naiksubsistemas para facilitar pruebas y revisiones más amplias. Dependiendo
82*08c42f22SAvadhut Naikdel área de su parche y de lo que esté sucediendo en otros lugares, basar
83*08c42f22SAvadhut Naikun parche en estos otros árboles puede requerir una cantidad significativa
84*08c42f22SAvadhut Naikde trabajo para resolver conflictos y lidiar con los cambios de API.
85*08c42f22SAvadhut Naik
86*08c42f22SAvadhut NaikSolo los cambios más simples deben formatearse como un solo parche; todo
87*08c42f22SAvadhut Naiklo demás debe hacerse como una serie lógica de cambios. Dividir parches
88*08c42f22SAvadhut Naikes un poco un arte; algunos desarrolladores pasan mucho tiempo averiguando
89*08c42f22SAvadhut Naikcómo hacerlo de la manera que la comunidad espera. Sin embargo, hay
90*08c42f22SAvadhut Naikalgunas reglas generales que pueden ayudar considerablemente:
91*08c42f22SAvadhut Naik
92*08c42f22SAvadhut Naik - La serie de parches que publique casi seguramente no será la serie de
93*08c42f22SAvadhut Naik   cambios que se encuentran en su sistema de control de revisiones. En su
94*08c42f22SAvadhut Naik   lugar, los cambios que ha realizado deben considerarse en su forma
95*08c42f22SAvadhut Naik   final y luego dividirse de manera que tengan sentido. A los
96*08c42f22SAvadhut Naik   desarrolladores les interesan los cambios discretos y autónomos, no el
97*08c42f22SAvadhut Naik   camino que tomó para llegar a esos cambios.
98*08c42f22SAvadhut Naik
99*08c42f22SAvadhut Naik - Cada cambio lógicamente independiente debe formatearse como un parche
100*08c42f22SAvadhut Naik   separado. Estos cambios pueden ser pequeños (“agregar un campo a esta
101*08c42f22SAvadhut Naik   estructura”) o grandes (agregar un nuevo controlador significativo,
102*08c42f22SAvadhut Naik   por ejemplo), pero deben ser conceptualmente pequeños y susceptibles
103*08c42f22SAvadhut Naik   de una descripción de una línea. Cada parche debe hacer un cambio
104*08c42f22SAvadhut Naik   especifico que pueda ser revisado por sí mismo y verificado para hacer
105*08c42f22SAvadhut Naik   lo que dice que hace.
106*08c42f22SAvadhut Naik
107*08c42f22SAvadhut Naik - Para reafirmar la pauta anterior: no mezcle diferentes tipos de cambios
108*08c42f22SAvadhut Naik   en el mismo parche. Si un solo parche corrige un error de seguridad
109*08c42f22SAvadhut Naik   crítico, reorganiza algunas estructuras y reformatea el código, es muy
110*08c42f22SAvadhut Naik   probable que se pase por alto y se pierda la solución importante.
111*08c42f22SAvadhut Naik
112*08c42f22SAvadhut Naik - Cada parche debe producir un kernel que se compile y funcione
113*08c42f22SAvadhut Naik   correctamente; si su serie de parches se interrumpe en el medio, el
114*08c42f22SAvadhut Naik   resultado debería seguir siendo un kernel funcional. La aplicación
115*08c42f22SAvadhut Naik   parcial de una serie de parches es un escenario común cuando se
116*08c42f22SAvadhut Naik   utiliza la herramienta “git bisect” para encontrar regresiones; si
117*08c42f22SAvadhut Naik   el resultado es un kernel roto, hará la vida más difícil para los
118*08c42f22SAvadhut Naik   desarrolladores y usuarios que participan en el noble trabajo de
119*08c42f22SAvadhut Naik   rastrear problemas.
120*08c42f22SAvadhut Naik
121*08c42f22SAvadhut Naik - Sin embargo, no lo exagere. Un desarrollador una vez publicó un conjunto
122*08c42f22SAvadhut Naik   de ediciones en un solo archivo como 500 parches separados – un acto
123*08c42f22SAvadhut Naik   que no lo convirtió en la persona más popular en la lista de correo del
124*08c42f22SAvadhut Naik   kernel. Un solo parche puede ser razonablemente grande si todavía
125*08c42f22SAvadhut Naik   contiene un solo cambio *lógico*.
126*08c42f22SAvadhut Naik
127*08c42f22SAvadhut Naik - Puede ser tentador agregar una infraestructura completamente nueva con
128*08c42f22SAvadhut Naik   una serie de parches, pero dejar esa infraestructura sin usar hasta el
129*08c42f22SAvadhut Naik   parche final de la serie lo habilite todo. Esta tentación debe evitarse
130*08c42f22SAvadhut Naik   si es posible; si esa serie agrega regresiones, bisection señalará el
131*08c42f22SAvadhut Naik   ultimo parche como el que causó el problema, aunque el error real esté
132*08c42f22SAvadhut Naik   en otra parte. Siempre que sea posible, un parche que agregue código
133*08c42f22SAvadhut Naik   nuevo debe hacer que ese código se active de inmediato.
134*08c42f22SAvadhut Naik
135*08c42f22SAvadhut NaikTrabajar para crear la serie de parches perfecta puede ser un proceso
136*08c42f22SAvadhut Naikfrustrante que lleva mucho tiempo y reflexión después de que el “trabajo
137*08c42f22SAvadhut Naikreal” se ha hecho. Sin embargo, cuando se hace correctamente, es un tiempo
138*08c42f22SAvadhut Naikbien empleado.
139*08c42f22SAvadhut Naik
140*08c42f22SAvadhut NaikFormato de parches y registros de cambios
141*08c42f22SAvadhut Naik-----------------------------------------
142*08c42f22SAvadhut Naik
143*08c42f22SAvadhut NaikAsí que ahora tiene una serie perfecta de parches para publicar, pero el
144*08c42f22SAvadhut Naiktrabajo aún no se ha hecho. Cada parche necesita ser formateado en un
145*08c42f22SAvadhut Naikmensaje que comunique rápida y claramente su propósito al resto del
146*08c42f22SAvadhut Naikmundo. A tal fin, cada parche se compondrá de lo siguiente:
147*08c42f22SAvadhut Naik
148*08c42f22SAvadhut Naik - Una línea opcional “From” que nombra al autor del parche. Esta línea
149*08c42f22SAvadhut Naik   solo es necesaria si pasa el parche de otra persona por correo
150*08c42f22SAvadhut Naik   electrónico, pero nunca está de más agregarla en caso de duda.
151*08c42f22SAvadhut Naik
152*08c42f22SAvadhut Naik - Una descripción de una línea de lo que hace el parche. Este mensaje
153*08c42f22SAvadhut Naik   debería ser suficiente para que un lector que lo vea sin otro contexto
154*08c42f22SAvadhut Naik   pueda entender el alcance del parche; la línea aparecerá en los
155*08c42f22SAvadhut Naik   registros de cambios de “forma corta”. Este mensaje generalmente se
156*08c42f22SAvadhut Naik   formatea con el nombre del subsistema relevante primero, seguido del
157*08c42f22SAvadhut Naik   propósito del parche. Por ejemplo:
158*08c42f22SAvadhut Naik
159*08c42f22SAvadhut Naik   ::
160*08c42f22SAvadhut Naik
161*08c42f22SAvadhut Naik	gpio: fix build on CONFIG_GPIO_SYSFS=n
162*08c42f22SAvadhut Naik
163*08c42f22SAvadhut Naik - Una línea en blanco seguida de una descripción detallada del contenido
164*08c42f22SAvadhut Naik   del parche. Esta descripción puede ser tan larga como sea necesario;
165*08c42f22SAvadhut Naik   debería decir qué hace el parche y por qué debe aplicarse al kernel.
166*08c42f22SAvadhut Naik
167*08c42f22SAvadhut Naik - Una o más líneas de etiquetas, con, como mínimo, una línea
168*08c42f22SAvadhut Naik   Signed-off-by: del autor del parche. Las etiquetas se describirán con
169*08c42f22SAvadhut Naik   más detalle a continuación.
170*08c42f22SAvadhut Naik
171*08c42f22SAvadhut NaikLos elementos de arriba, juntos, forman el registro de cambios para el
172*08c42f22SAvadhut Naikparche. Escribir buenos registros de cambios es un arte crucial, pero a
173*08c42f22SAvadhut Naikmenudo descuidado; vale la pena pasar otro momento discutiendo este tema.
174*08c42f22SAvadhut NaikAl escribir un registro de cambios, debe recordar que muchas personas
175*08c42f22SAvadhut Naikdiferentes leerán sus palabras. Estos incluyen a los maintainers y
176*08c42f22SAvadhut Naikrevisores de subsistemas que necesitan decidir si el parche debe
177*08c42f22SAvadhut Naikincluirse, a los distribuidores y otros maintainers que intentan
178*08c42f22SAvadhut Naikdeterminar si un parche debe ser “backported” a otros kernels, a los
179*08c42f22SAvadhut Naikcazadores de errores que se preguntan si el parche es responsable de un
180*08c42f22SAvadhut Naikproblema que están persiguiendo, a los usuarios que quieren saber cómo
181*08c42f22SAvadhut Naikha cambiado el kernel, y más. Un buen registro de cambios transmite la
182*08c42f22SAvadhut Naikinformación necesaria a todas estas personas de la forma más directa y
183*08c42f22SAvadhut Naikconcisa posible.
184*08c42f22SAvadhut Naik
185*08c42f22SAvadhut NaikCon ese fin, la línea de resumen debe describir los efectos y la
186*08c42f22SAvadhut Naikmotivación del cambio, así como lo mejor posible dada la restricción de
187*08c42f22SAvadhut Naikuna línea. La descripción detallada puede ampliar esos temas y
188*08c42f22SAvadhut Naikproporcionar cualquier información adicional necesaria. Si el parche
189*08c42f22SAvadhut Naikcorrige un error, cita el commit que introdujo el error si es posible (y
190*08c42f22SAvadhut Naikpor favor, proporcione tanto el ID del commit como el título al citar
191*08c42f22SAvadhut Naikcommits). Si un problema está asociado con un registro específico o la
192*08c42f22SAvadhut Naiksalida del compilador, incluya esa salida para ayudar a otros usuarios a
193*08c42f22SAvadhut Naikbuscar una solución al mismo problema. Si el cambio está destinado a
194*08c42f22SAvadhut Naikapoyar otros cambios que llegarán en un parche posterior, dígalo. Si se
195*08c42f22SAvadhut Naikcambian las API internas, detalle esos cambios y cómo deben responder
196*08c42f22SAvadhut Naikotros desarrolladores. En general, cuanto más pueda ponerse en los zapatos
197*08c42f22SAvadhut Naikde todos los que leerán su registro de cambios, mejor será ese registro de
198*08c42f22SAvadhut Naikcambios (y el kernel en su conjunto).
199*08c42f22SAvadhut Naik
200*08c42f22SAvadhut NaikNo hace falta decir que el registro de cambios debe ser el texto utilizado
201*08c42f22SAvadhut Naikal realizar el commit en un sistema de control de revisiones. Será seguido
202*08c42f22SAvadhut Naikpor:
203*08c42f22SAvadhut Naik
204*08c42f22SAvadhut Naik - El parche, en el formato unificado de parche (“-u”). Usar la opción
205*08c42f22SAvadhut Naik   “-p” en diff asociará los nombres de las funciones con los cambios, lo
206*08c42f22SAvadhut Naik   que hará que el parche resultante sea más fácil de leer para otros.
207*08c42f22SAvadhut Naik
208*08c42f22SAvadhut NaikDebe evitar incluir cambios en archivos irrelevantes (los generados por
209*08c42f22SAvadhut Naikel proceso de compilación, por ejemplo, o los archivos de respaldo del
210*08c42f22SAvadhut Naikeditor) en el parche. El archivo “dontdiff” en el directorio de
211*08c42f22SAvadhut NaikDocumentation puede ayudar en este sentido; páselo a diff con la
212*08c42f22SAvadhut Naikopción “-X”.
213*08c42f22SAvadhut Naik
214*08c42f22SAvadhut NaikLas etiquetas ya mencionadas brevemente anteriormente proporcionan
215*08c42f22SAvadhut Naikinformación sobre cómo surgió el parche. Se describen en detalle en el
216*08c42f22SAvadhut Naikdocumento
217*08c42f22SAvadhut Naik:ref:`Documentation/translations/sp_SP/process/submitting-patches.rst <sp_submittingpatches>`;
218*08c42f22SAvadhut Naiklo que sigue aquí es un breve resumen.
219*08c42f22SAvadhut Naik
220*08c42f22SAvadhut NaikUna etiqueta se usa para referirse a commits anteriores que introdujeron
221*08c42f22SAvadhut Naikproblemas corregidos por el parche::
222*08c42f22SAvadhut Naik
223*08c42f22SAvadhut Naik	Fixes: 1f2e3d4c5b6a ("La primera línea del commit especificada por los primeros 12 caracteres de su ID SHA-1.")
224*08c42f22SAvadhut Naik
225*08c42f22SAvadhut NaikOtra etiqueta se utiliza para vincular páginas web con información
226*08c42f22SAvadhut Naikadicional o detalles, por ejemplo, una discusión previa que condujo al
227*08c42f22SAvadhut Naikparche o un documento con una especificación implementada por el parche::
228*08c42f22SAvadhut Naik
229*08c42f22SAvadhut Naik	Link: https://example.com/somewhere.html  otras cosas opcionales
230*08c42f22SAvadhut Naik
231*08c42f22SAvadhut NaikMuchos maintainers, al aplicar un parche, también agregan esta etiqueta
232*08c42f22SAvadhut Naikpara vincular a la última publicación de revisión pública del parche; a
233*08c42f22SAvadhut Naikmenudo, eso se hace automáticamente mediante herramientas como b4 o git
234*08c42f22SAvadhut Naikhook como el que se describe en
235*08c42f22SAvadhut Naik'Documentation/maintainer/configure-git.rst'.
236*08c42f22SAvadhut Naik
237*08c42f22SAvadhut NaikSi la URL apunta a un informe de error público que está siendo corregido
238*08c42f22SAvadhut Naikpor el parche, use la etiqueta “Closes:” (Cierra) en su lugar::
239*08c42f22SAvadhut Naik
240*08c42f22SAvadhut Naik	Closes: https://example.com/issues/1234  otras cosas opcionales
241*08c42f22SAvadhut Naik
242*08c42f22SAvadhut NaikAlgunos rastreadores de errores tienen la capacidad de cerrar problemas
243*08c42f22SAvadhut Naikautomáticamente cuando se aplica un commit con tal etiqueta. Algunos bots
244*08c42f22SAvadhut Naikque monitorean listas de correo también pueden rastrear dichas etiquetas
245*08c42f22SAvadhut Naiky realizar ciertas acciones. Los rastreadores de errores privados y las
246*08c42f22SAvadhut NaikURL no válidas están prohibidos.
247*08c42f22SAvadhut Naik
248*08c42f22SAvadhut NaikOtro tipo de etiqueta se utiliza para documentar quién estuvo involucrado
249*08c42f22SAvadhut Naiken el desarrollo del parche. Cada uno de estos utiliza este formato::
250*08c42f22SAvadhut Naik
251*08c42f22SAvadhut Naik	tag: Full Name <email address>  otras cosas opcionales
252*08c42f22SAvadhut Naik
253*08c42f22SAvadhut NaikLas etiquetas de uso común son:
254*08c42f22SAvadhut Naik
255*08c42f22SAvadhut Naik - Signed-off-by: esta es una certificación del desarrollador de que él
256*08c42f22SAvadhut Naik   o ella tiene el derecho de enviar el parche para su inclusión en el
257*08c42f22SAvadhut Naik   kernel. Es un acuerdo con el Certificado de Origen del Desarrollador,
258*08c42f22SAvadhut Naik   que se encuentra en
259*08c42f22SAvadhut Naik   :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst <sp_submittingpatches>`.
260*08c42f22SAvadhut Naik   El código sin la firma adecuada no se puede fusionar en el mainline.
261*08c42f22SAvadhut Naik
262*08c42f22SAvadhut Naik - Co-developed-by: indica que el parche fue co-creado por varios
263*08c42f22SAvadhut Naik   desarrolladores; se utiliza para atribuir a los coautores (además del
264*08c42f22SAvadhut Naik   autor atribuido por la etiqueta From:) cuando varias personas trabajan
265*08c42f22SAvadhut Naik   en un solo parche. Cada Co-developed-by: debe ir seguido inmediatamente
266*08c42f22SAvadhut Naik   por un Signedoff-by: del coautor asociado. Los detalles y ejemplos se
267*08c42f22SAvadhut Naik   pueden encontrar en
268*08c42f22SAvadhut Naik   :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst <sp_submittingpatches>`.
269*08c42f22SAvadhut Naik
270*08c42f22SAvadhut Naik - Acked-by: indica un acuerdo por parte de otro desarrollador (a menudo
271*08c42f22SAvadhut Naik   un maintainer del código relevante) de que el parche es apropiado para
272*08c42f22SAvadhut Naik   su inclusión en el kernel.
273*08c42f22SAvadhut Naik
274*08c42f22SAvadhut Naik - Tested-by: indica que la persona nombrada ha probado el parche y ha
275*08c42f22SAvadhut Naik   encontrado que funciona.
276*08c42f22SAvadhut Naik
277*08c42f22SAvadhut Naik - Reviewed-by: el desarrollador nombrado ha revisado el parche para
278*08c42f22SAvadhut Naik   verificar que sea correcto; consulte la declaración del revisor en
279*08c42f22SAvadhut Naik   :ref:`Documentation/translations/sp_SP/process/submitting-patches.rst <sp_submittingpatches>`
280*08c42f22SAvadhut Naik   para obtener más detalles.
281*08c42f22SAvadhut Naik
282*08c42f22SAvadhut Naik - Reported-by: nombra a un usuario que informó un problema que se
283*08c42f22SAvadhut Naik   soluciona con este parche; esta etiqueta se utiliza para dar crédito
284*08c42f22SAvadhut Naik   a las personas (a menudo infravalorada) que prueban nuestro código y
285*08c42f22SAvadhut Naik   nos hacen saber cuándo las cosas no funcionan correctamente. Tenga en
286*08c42f22SAvadhut Naik   cuenta que esta etiqueta debe ir seguida de una etiqueta Closes: que
287*08c42f22SAvadhut Naik   apunte al informe, a menos que el informe no esté disponible en la
288*08c42f22SAvadhut Naik   web. La etiqueta Link: se puede usar en lugar de Closes: si el parche
289*08c42f22SAvadhut Naik   corrige una parte de los problemas reportados.
290*08c42f22SAvadhut Naik
291*08c42f22SAvadhut Naik - Cc: la persona nombrada recibió una copia del parche y tuvo la
292*08c42f22SAvadhut Naik   oportunidad de comentar sobre él.
293*08c42f22SAvadhut Naik
294*08c42f22SAvadhut NaikTenga cuidado al agregar etiquetas a sus parches, ya que solo Cc: es
295*08c42f22SAvadhut Naikapropiado para la adición sin el permiso explícito de la persona nombrada;
296*08c42f22SAvadhut Naikusar Reported-by: está casi bien en su mayoría, pero pida permiso si el
297*08c42f22SAvadhut Naikerror fue reportado en privado.
298*08c42f22SAvadhut Naik
299*08c42f22SAvadhut NaikEnvió del parche
300*08c42f22SAvadhut Naik----------------
301*08c42f22SAvadhut Naik
302*08c42f22SAvadhut NaikAntes de enviar sus parches por correo, hay un par de cosas más de las
303*08c42f22SAvadhut Naikque debe ocuparse:
304*08c42f22SAvadhut Naik
305*08c42f22SAvadhut Naik - ¿Está seguro de que su correo no corromperá los parches? Los parches
306*08c42f22SAvadhut Naik   con cambios gratuitos de espacio en blanco o ajuste de línea
307*08c42f22SAvadhut Naik   realizados por el cliente de correo no se aplicarán en el otro
308*08c42f22SAvadhut Naik   extremo, y a menudo, no se examinarán en detalle. Si tiene alguna
309*08c42f22SAvadhut Naik   duda, envíese el parche por correo y convénzase de que parece
310*08c42f22SAvadhut Naik   intacto.
311*08c42f22SAvadhut Naik
312*08c42f22SAvadhut Naik   :ref:`Documentation/translations/sp_SP/process/email-clients.rst <sp_email_clients>`
313*08c42f22SAvadhut Naik   tiene algunos consejos útiles sobre cómo hacer que clientes de correo
314*08c42f22SAvadhut Naik   específicos funcionen para enviar parches.
315*08c42f22SAvadhut Naik
316*08c42f22SAvadhut Naik - ¿Está seguro de que su parche está libre de errores tontos? Siempre
317*08c42f22SAvadhut Naik   debe ejecutar parches a través de scripts/checkpatch.pl y abordar las
318*08c42f22SAvadhut Naik   quejas que surjan. Por favor, tenga en cuenta que checkpatch.pl, aunque
319*08c42f22SAvadhut Naik   es la encarnación de una buena cantidad de pensamiento sobre cómo
320*08c42f22SAvadhut Naik   deberían ser los parches del kernel, no es más inteligente que usted.
321*08c42f22SAvadhut Naik   Si corregir una queja de checkpatch.pl empeoraría el código, no lo
322*08c42f22SAvadhut Naik   haga.
323*08c42f22SAvadhut Naik
324*08c42f22SAvadhut NaikLos parches siempre deben enviarse como texto sin formato. Por favor, no
325*08c42f22SAvadhut Naiklos envíe como archivos adjuntos; eso hace que sea mucho más difícil para
326*08c42f22SAvadhut Naiklos revisores citar secciones del parche en sus respuestas. En su lugar,
327*08c42f22SAvadhut Naiksimplemente coloca el parche directamente en su mensaje.
328*08c42f22SAvadhut Naik
329*08c42f22SAvadhut NaikAl enviar parches por correo, es importante enviar copias a cualquier
330*08c42f22SAvadhut Naikpersona que pueda estar interesada en ellos. A diferencia de otros
331*08c42f22SAvadhut Naikproyectos, el kernel anima a la gente a equivocarse por el lado de enviar
332*08c42f22SAvadhut Naikdemasiadas copias; no asuma que las personas relevantes verán su
333*08c42f22SAvadhut Naikpublicación en las listas de correo. En particular, las copias deben
334*08c42f22SAvadhut Naikir a:
335*08c42f22SAvadhut Naik
336*08c42f22SAvadhut Naik - El (los) maintainer(s) del (de los) subsistema(s) afectado(s). Como se
337*08c42f22SAvadhut Naik   describió anteriormente, el archivo MAINTAINERS es el primer lugar para
338*08c42f22SAvadhut Naik   buscar a estas personas.
339*08c42f22SAvadhut Naik
340*08c42f22SAvadhut Naik - Otros desarrolladores que han estado trabajando en la misma
341*08c42f22SAvadhut Naik   área – especialmente aquellos que podrían estar trabajando allí ahora.
342*08c42f22SAvadhut Naik   Usar git para ver quién más ha modificado los archivos en los que está
343*08c42f22SAvadhut Naik   trabajando puede ser útil.
344*08c42f22SAvadhut Naik
345*08c42f22SAvadhut Naik - Si está respondiendo a un informe de error o a una solicitud de
346*08c42f22SAvadhut Naik   función, copie también al autor.
347*08c42f22SAvadhut Naik
348*08c42f22SAvadhut Naik - Envié una copia a la lista de correo relevante o, si no se aplica nada
349*08c42f22SAvadhut Naik   más, a la lista de linux-kernel.
350*08c42f22SAvadhut Naik
351*08c42f22SAvadhut Naik - Si está corrigiendo un error, piense si la corrección debe incluirse en
352*08c42f22SAvadhut Naik   la próxima actualización estable. Si es así, stable@vger.kernel.org
353*08c42f22SAvadhut Naik   debería obtener una copia del parche. También agregue un
354*08c42f22SAvadhut Naik   "Cc: stable@vger.kernel.org" a las etiquetas dentro del parche; eso
355*08c42f22SAvadhut Naik   hará que el equipo estable reciba una notificación cuando su solución
356*08c42f22SAvadhut Naik   incluya en el mainline.
357*08c42f22SAvadhut Naik
358*08c42f22SAvadhut NaikAl seleccionar destinatarios para un parche, es bueno saber quién cree que
359*08c42f22SAvadhut Naikeventualmente aceptará el parche y lo fusionará. Aunque es posible enviar
360*08c42f22SAvadhut Naikparches directamente a Linus Torvalds y hacer que los fusione, las cosas
361*08c42f22SAvadhut Naiknormalmente no se hacen de esa manera. Linus está ocupado y hay
362*08c42f22SAvadhut Naikmaintainers de subsistemas que vigilan partes específicas del kernel.
363*08c42f22SAvadhut NaikGeneralmente, querrá que ese maintainer fusione sus parches. Andrew Morton
364*08c42f22SAvadhut Naikes a menudo el objetivo del parche de último recurso si no hay un
365*08c42f22SAvadhut Naikmaintainer obvio.
366*08c42f22SAvadhut Naik
367*08c42f22SAvadhut NaikLos parches necesitan buenas líneas de asunto. El formato canónico de una
368*08c42f22SAvadhut Naiklínea de parche es algo así como:
369*08c42f22SAvadhut Naik
370*08c42f22SAvadhut Naik::
371*08c42f22SAvadhut Naik
372*08c42f22SAvadhut Naik	[PATCH nn/mm] subsys: descripción en una línea del parche
373*08c42f22SAvadhut Naik
374*08c42f22SAvadhut Naikdonde “nn” es el número ordinal del parche, “”mm” es el número total de
375*08c42f22SAvadhut Naikparches en la serie, y “subsys” es el nombre del subsistema afectado.
376*08c42f22SAvadhut NaikClaramente, nn/mm se puede omitir para un parche único e independiente.
377*08c42f22SAvadhut Naik
378*08c42f22SAvadhut NaikSi tiene una serie significativa de parches, es costumbre enviar una
379*08c42f22SAvadhut Naikdescripción introductoria como parte cero. Sin embargo, esta convención no
380*08c42f22SAvadhut Naikse sigue universalmente; si la utiliza, recuerde que la información en la
381*08c42f22SAvadhut Naikintroducción no se incluye en los registros de cambios del kernel. Por lo
382*08c42f22SAvadhut Naiktanto, asegúrese de que los parches, en sí mismos, tengan información
383*08c42f22SAvadhut Naikcompleta del registro de cambios.
384*08c42f22SAvadhut Naik
385*08c42f22SAvadhut NaikEn general, la segunda y las siguientes partes de un parche de varias
386*08c42f22SAvadhut Naikpartes deben enviarse como una respuesta a la primera parte para que todas
387*08c42f22SAvadhut Naikse hilen juntas en el extremo receptor. Herramientas como git y quilt
388*08c42f22SAvadhut Naiktienen comandos para enviar por correo un conjunto de parches con el
389*08c42f22SAvadhut Naiksubproceso adecuado. Sin embargo, si tiene una serie larga y está usando
390*08c42f22SAvadhut Naikgit, por favor evite la opción –chain-reply-to para evitar crear un
391*08c42f22SAvadhut Naikanidamiento excepcionalmente profundo.
392