€•ü‡Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒEnglish”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/process/7.AdvancedTopics”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Simplified)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/zh_CN/process/7.AdvancedTopics”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/zh_TW/process/7.AdvancedTopics”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/it_IT/process/7.AdvancedTopics”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/ja_JP/process/7.AdvancedTopics”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/ko_KR/process/7.AdvancedTopics”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒSpanish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒwarning”“”)”}”(hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la única referencia válida es la documentación oficial en inglés. Además, por defecto, los enlaces a documentos redirigen a la documentación en inglés, incluso si existe una versión traducida. Consulte el índice para más información.”h]”hŒ paragraph”“”)”}”(hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la única referencia válida es la documentación oficial en inglés. Además, por defecto, los enlaces a documentos redirigen a la documentación en inglés, incluso si existe una versión traducida. Consulte el índice para más información.”h]”hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la única referencia válida es la documentación oficial en inglés. Además, por defecto, los enlaces a documentos redirigen a la documentación en inglés, incluso si existe una versión traducida. Consulte el índice para más información.”…””}”(hh©hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸŒ2Documentation/translations/sp_SP/disclaimer-sp.rst”h Khh£ubah}”(h]”h ]”h"]”h$]”h&]”uh1h¡hhhžhhŸh·h NubhŒ field_list”“”)”}”(hhh]”(hŒfield”“”)”}”(hhh]”(hŒ field_name”“”)”}”(hŒOriginal”h]”hŒOriginal”…””}”(hhÊhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhhÅhŸŒY/var/lib/git/docbuild/linux/Documentation/translations/sp_SP/process/7.AdvancedTopics.rst”h KubhŒ field_body”“”)”}”(hŒ*Documentation/process/7.AdvancedTopics.rst”h]”h¨)”}”(hhÝh]”hŒ*Documentation/process/7.AdvancedTopics.rst”…””}”(hhßhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KhhÛubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙhhÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÃhŸhØh KhhÀhžhubhÄ)”}”(hhh]”(hÉ)”}”(hŒ Translator”h]”hŒ Translator”…””}”(hhûhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhhøhŸhØh KubhÚ)”}”(hŒVCarlos Bilbao and Avadhut Naik ”h]”h¨)”}”(hŒUCarlos Bilbao and Avadhut Naik ”h]”(hŒCarlos Bilbao <”…””}”(hj hžhhŸNh NubhŒ reference”“”)”}”(hŒcarlos.bilbao.osdev@gmail.com”h]”hŒcarlos.bilbao.osdev@gmail.com”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ$mailto:carlos.bilbao.osdev@gmail.com”uh1jhj ubhŒ> and Avadhut Naik <”…””}”(hj hžhhŸNh Nubj)”}”(hŒavadhut.naik@amd.com”h]”hŒavadhut.naik@amd.com”…””}”(hj+hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:avadhut.naik@amd.com”uh1jhj ubhŒ>”…””}”(hj hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙhhøubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÃhŸhØh KhhÀhžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1h¾hhhžhhŸhØh KubhŒtarget”“”)”}”(hŒ".. _sp_development_advancedtopics:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œsp-development-advancedtopics”uh1jWh KhhhžhhŸhØubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒTemas avanzados”h]”hŒTemas avanzados”…””}”(hjlhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jjhjghžhhŸhØh K ubh¨)”}”(hX8Llegados a este punto, con suerte, tiene una idea de cómo funciona el proceso de desarrollo. Sin embargo, ¡todavía hay más que aprender! Esta sección cubrirá varios temas que pueden ser útiles para los desarrolladores que desean convertirse en una parte regular del proceso de desarrollo del kernel Linux.”h]”hX8Llegados a este punto, con suerte, tiene una idea de cómo funciona el proceso de desarrollo. Sin embargo, ¡todavía hay más que aprender! Esta sección cubrirá varios temas que pueden ser útiles para los desarrolladores que desean convertirse en una parte regular del proceso de desarrollo del kernel Linux.”…””}”(hjzhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K hjghžhubjf)”}”(hhh]”(jk)”}”(hŒGestionar parches con git”h]”hŒGestionar parches con git”…””}”(hj‹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jjhjˆhžhhŸhØh Kubh¨)”}”(hX7El uso del control de versiones distribuido para el kernel comenzó a principios de 2002 cuando Linus comenzó a jugar con la aplicación propietaria BitKeeper. Aunque BitKeeper fue controvertido, el enfoque de la gestión de versiones de software que incorporó ciertamente no lo fue. El control de versiones distribuido permitió una aceleración inmediata del proyecto de desarrollo del kernel. En los tiempos actuales, existen varias alternativas gratuitas a BitKeeper. Para bien o para mal, el proyecto del kernel ha optado por git como su herramienta preferida.”h]”hX7El uso del control de versiones distribuido para el kernel comenzó a principios de 2002 cuando Linus comenzó a jugar con la aplicación propietaria BitKeeper. Aunque BitKeeper fue controvertido, el enfoque de la gestión de versiones de software que incorporó ciertamente no lo fue. El control de versiones distribuido permitió una aceleración inmediata del proyecto de desarrollo del kernel. En los tiempos actuales, existen varias alternativas gratuitas a BitKeeper. Para bien o para mal, el proyecto del kernel ha optado por git como su herramienta preferida.”…””}”(hj™hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khjˆhžhubh¨)”}”(hX…Administrar parches con git puede hacer la vida mucho más fácil para el desarrollador, especialmente a medida que crece el volumen de esos parches. Git también tiene sus asperezas y representa ciertos peligros; es una herramienta joven y poderosa que aún está siendo civilizada por sus desarrolladores. Este documento no intentará enseñar al lector cómo usar git; eso sería material suficiente para un documento extenso por derecho propio. En su lugar, el enfoque aquí será cómo git encaja en el proceso de desarrollo del kernel en particular. Los desarrolladores que deseen ponerse al día con git encontrarán más información en:”h]”hX…Administrar parches con git puede hacer la vida mucho más fácil para el desarrollador, especialmente a medida que crece el volumen de esos parches. Git también tiene sus asperezas y representa ciertos peligros; es una herramienta joven y poderosa que aún está siendo civilizada por sus desarrolladores. Este documento no intentará enseñar al lector cómo usar git; eso sería material suficiente para un documento extenso por derecho propio. En su lugar, el enfoque aquí será cómo git encaja en el proceso de desarrollo del kernel en particular. Los desarrolladores que deseen ponerse al día con git encontrarán más información en:”…””}”(hj§hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KhjˆhžhubhŒ block_quote”“”)”}”(hŒXhttps://git-scm.com/ https://www.kernel.org/pub/software/scm/git/docs/user-manual.html ”h]”(h¨)”}”(hŒhttps://git-scm.com/”h]”j)”}”(hj½h]”hŒhttps://git-scm.com/”…””}”(hj¿hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j½uh1jhj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K'hj·ubh¨)”}”(hŒAhttps://www.kernel.org/pub/software/scm/git/docs/user-manual.html”h]”j)”}”(hjÕh]”hŒAhttps://www.kernel.org/pub/software/scm/git/docs/user-manual.html”…””}”(hj×hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jÕuh1jhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K)hj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jµhŸhØh K'hjˆhžhubh¨)”}”(hŒ3y en varios tutoriales que se encuentran en la web.”h]”hŒ3y en varios tutoriales que se encuentran en la web.”…””}”(hjñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K+hjˆhžhubh¨)”}”(hXEl primer orden del negocio es leer los sitios mencionados anteriormente y comprender cómo funciona git antes de intentar usarlo para poner parches a disposición de otros. Un desarrollador que usa git debe ser capaz de obtener una copia del repositorio mainline, explorar el historial de revisiones, hacer commits en el árbol, usar ramas, etcétera. También es útil entender las herramientas de git para rescribir la historia (como rebase). Git viene con su propia terminología y conceptos; un nuevo usuario de git debe conocer las referencias, las ramas remotas, el índice, las fusiones fast-forward, los pushes y pulls, las cabezas separadas, etcétera. Todo puede ser un poco intimidante al principio, pero los conceptos no son tan difíciles de entender con un poco de estudio.”h]”hXEl primer orden del negocio es leer los sitios mencionados anteriormente y comprender cómo funciona git antes de intentar usarlo para poner parches a disposición de otros. Un desarrollador que usa git debe ser capaz de obtener una copia del repositorio mainline, explorar el historial de revisiones, hacer commits en el árbol, usar ramas, etcétera. También es útil entender las herramientas de git para rescribir la historia (como rebase). Git viene con su propia terminología y conceptos; un nuevo usuario de git debe conocer las referencias, las ramas remotas, el índice, las fusiones fast-forward, los pushes y pulls, las cabezas separadas, etcétera. Todo puede ser un poco intimidante al principio, pero los conceptos no son tan difíciles de entender con un poco de estudio.”…””}”(hjÿhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K-hjˆhžhubh¨)”}”(hŒ{Usar git para generar parches para enviarlos por correo electrónico puede ser un buen ejercicio mientras te pones al día.”h]”hŒ{Usar git para generar parches para enviarlos por correo electrónico puede ser un buen ejercicio mientras te pones al día.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K9hjˆhžhubh¨)”}”(hX*Cuando esté listo para comenzar a publicar árboles de git para que otros los vean, necesitará por supuesto, un servidor del que se pueda extraer. Configurar un servidor de este tipo con git-daemon es relativamente sencillo si tiene un sistema accesible a Internet. De lo contrario, los sitios de alojamiento público y gratuitos (GitHub, por ejemplo) están comenzando a aparecer en la red. Los desarrolladores establecidos pueden obtener una cuenta en kernel.org, pero no son fáciles de conseguir; ver https://kernel.org/faq/ para más información.”h]”(hXûCuando esté listo para comenzar a publicar árboles de git para que otros los vean, necesitará por supuesto, un servidor del que se pueda extraer. Configurar un servidor de este tipo con git-daemon es relativamente sencillo si tiene un sistema accesible a Internet. De lo contrario, los sitios de alojamiento público y gratuitos (GitHub, por ejemplo) están comenzando a aparecer en la red. Los desarrolladores establecidos pueden obtener una cuenta en kernel.org, pero no son fáciles de conseguir; ver ”…””}”(hjhžhhŸNh Nubj)”}”(hŒhttps://kernel.org/faq/”h]”hŒhttps://kernel.org/faq/”…””}”(hj#hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j%uh1jhjubhŒ para más información.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KhžhhŸNh NubhŒliteral”“”)”}”(hŒ``Reviewed-by``”h]”hŒ Reviewed-by”…””}”(hjHhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj>ubhX{. De hecho, las revisiones en Inglés sencillo son más informativas y alentadas incluso cuando se proporciona una etiqueta, por ejemplo, “Revisé los aspectos A, B y C de esta propuesta y me parece bienâ€. ¡Alguna forma de mensaje de revisión o respuesta es obviamente necesaria, de lo contrario, los maintainers no sabrán que el revisor ha revisado el parche en absoluto!”…””}”(hj>hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KËhjõhžhubh¨)”}”(hŒÚPor último, pero no menos importante, la revisión de parches puede convertirse en un proceso negativo, centrado en señalar problemas. ¡Por favor, dé un cumplido de vez en cuando, especialmente a los principiantes!”h]”hŒÚPor último, pero no menos importante, la revisión de parches puede convertirse en un proceso negativo, centrado en señalar problemas. ¡Por favor, dé un cumplido de vez en cuando, especialmente a los principiantes!”…””}”(hj`hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÔhjõhžhubeh}”(h]”Œrevision-de-parches”ah ]”h"]”Œrevisión de parches”ah$]”h&]”uh1jehjghžhhŸhØh K¥ubeh}”(h]”(Œtemas-avanzados”jdeh ]”h"]”(Œtemas avanzados”Œsp_development_advancedtopics”eh$]”h&]”uh1jehhhžhhŸhØh K Œexpect_referenced_by_name”}”j|jYsŒexpect_referenced_by_id”}”jdjYsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hØuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(jjNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j¦Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hØŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”jd]”jYasŒnameids”}”(j|jdj{jxjòjïjsjpuŒ nametypes”}”(j|ˆj{‰jò‰js‰uh}”(jdjgjxjgjïjˆjpjõuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”h¨)”}”(hhh]”hŒCHyperlink target "sp-development-advancedtopics" is not referenced.”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”uh1h§hj ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hØŒline”Kuh1j ubaŒ transformer”NŒ include_log”]”Œ=Documentation/translations/sp_SP/process/7.AdvancedTopics.rst”(NNNNt”†”aŒ decoration”Nhžhub.