€•]/Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”(hhŒparent”hubaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ,/translations/zh_CN/maintainer/configure-git”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”(hhhh2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/zh_TW/maintainer/configure-git”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”(hhhhFubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/it_IT/maintainer/configure-git”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”(hhhhZubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/ja_JP/maintainer/configure-git”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”(hhhhnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/ko_KR/maintainer/configure-git”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”(hhhh‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/sp_SP/maintainer/configure-git”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒConfiguring Git”h]”hŒConfiguring Git”…””}”(hhªhh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒF/var/lib/git/docbuild/linux/Documentation/maintainer/configure-git.rst”h KubhŒ paragraph”“”)”}”(hŒ:This chapter describes maintainer level git configuration.”h]”hŒ:This chapter describes maintainer level git configuration.”…””}”(hh»hh¹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubh¸)”}”(hXwTagged branches used in pull requests (see Documentation/maintainer/pull-requests.rst) should be signed with the developers public GPG key. Signed tags can be created by passing ``-u `` to ``git tag``. However, since you would *usually* use the same key for the project, you can set it in the configuration and use the ``-s`` flag. To set the default ``key-id`` use::”h]”(hŒ²Tagged branches used in pull requests (see Documentation/maintainer/pull-requests.rst) should be signed with the developers public GPG key. Signed tags can be created by passing ”…””}”(hŒ²Tagged branches used in pull requests (see Documentation/maintainer/pull-requests.rst) should be signed with the developers public GPG key. Signed tags can be created by passing ”hhÇhžhhŸNh NubhŒliteral”“”)”}”(hŒ``-u ``”h]”hŒ -u ”…””}”(hhhhÒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhhÇubhŒ to ”…””}”(hŒ to ”hhÇhžhhŸNh NubhÑ)”}”(hŒ ``git tag``”h]”hŒgit tag”…””}”(hhhhåhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhhÇubhŒ. However, since you would ”…””}”(hŒ. However, since you would ”hhÇhžhhŸNh NubhŒemphasis”“”)”}”(hŒ *usually*”h]”hŒusually”…””}”(hhhhúhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhhÇubhŒS use the same key for the project, you can set it in the configuration and use the ”…””}”(hŒS use the same key for the project, you can set it in the configuration and use the ”hhÇhžhhŸNh NubhÑ)”}”(hŒ``-s``”h]”hŒ-s”…””}”(hhhj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhhÇubhŒ flag. To set the default ”…””}”(hŒ flag. To set the default ”hhÇhžhhŸNh NubhÑ)”}”(hŒ ``key-id``”h]”hŒkey-id”…””}”(hhhj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhhÇubhŒ use:”…””}”(hŒ use:”hhÇhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubhŒ literal_block”“”)”}”(hŒ$git config user.signingkey "keyname"”h]”hŒ$git config user.signingkey "keyname"”…””}”(hhhj;ubah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j9hŸh¶h K hh£hžhubh¸)”}”(hŒKAlternatively, edit your ``.git/config`` or ``~/.gitconfig`` file by hand::”h]”(hŒAlternatively, edit your ”…””}”(hŒAlternatively, edit your ”hjKhžhhŸNh NubhÑ)”}”(hŒ``.git/config``”h]”hŒ .git/config”…””}”(hhhjThžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjKubhŒ or ”…””}”(hŒ or ”hjKhžhhŸNh NubhÑ)”}”(hŒ``~/.gitconfig``”h]”hŒ ~/.gitconfig”…””}”(hhhjghžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjKubhŒ file by hand:”…””}”(hŒ file by hand:”hjKhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubj:)”}”(hŒe[user] name = Jane Developer email = jd@domain.org signingkey = jd@domain.org”h]”hŒe[user] name = Jane Developer email = jd@domain.org signingkey = jd@domain.org”…””}”(hhhj€ubah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸh¶h Khh£hžhubh¸)”}”(hŒ.You may need to tell ``git`` to use ``gpg2``::”h]”(hŒYou may need to tell ”…””}”(hŒYou may need to tell ”hjŽhžhhŸNh NubhÑ)”}”(hŒ``git``”h]”hŒgit”…””}”(hhhj—hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjŽubhŒ to use ”…””}”(hŒ to use ”hjŽhžhhŸNh NubhÑ)”}”(hŒ``gpg2``”h]”hŒgpg2”…””}”(hhhjªhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjŽubhŒ:”…””}”(hŒ:”hjŽhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubj:)”}”(hŒ%[gpg] program = /path/to/gpg2”h]”hŒ%[gpg] program = /path/to/gpg2”…””}”(hhhjÃubah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸh¶h Khh£hžhubh¸)”}”(hŒTYou may also like to tell ``gpg`` which ``tty`` to use (add to your shell rc file)::”h]”(hŒYou may also like to tell ”…””}”(hŒYou may also like to tell ”hjÑhžhhŸNh NubhÑ)”}”(hŒ``gpg``”h]”hŒgpg”…””}”(hhhjÚhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjÑubhŒ which ”…””}”(hŒ which ”hjÑhžhhŸNh NubhÑ)”}”(hŒ``tty``”h]”hŒtty”…””}”(hhhjíhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjÑubhŒ$ to use (add to your shell rc file):”…””}”(hŒ$ to use (add to your shell rc file):”hjÑhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubj:)”}”(hŒexport GPG_TTY=$(tty)”h]”hŒexport GPG_TTY=$(tty)”…””}”(hhhjubah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸh¶h Khh£hžhubh¢)”}”(hhh]”(h§)”}”(hŒ(Creating commit links to lore.kernel.org”h]”hŒ(Creating commit links to lore.kernel.org”…””}”(hjhjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjhžhhŸh¶h K"ubh¸)”}”(hXêThe web site https://lore.kernel.org is meant as a grand archive of all mail list traffic concerning or influencing the kernel development. Storing archives of patches here is a recommended practice, and when a maintainer applies a patch to a subsystem tree, it is a good idea to provide a Link: tag with a reference back to the lore archive so that people that browse the commit history can find related discussions and rationale behind a certain change. The link tag will look like this::”h]”(hŒ The web site ”…””}”(hŒ The web site ”hj%hžhhŸNh NubhŒ reference”“”)”}”(hŒhttps://lore.kernel.org”h]”hŒhttps://lore.kernel.org”…””}”(hhhj0hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j2uh1j.hj%ubhXÅ is meant as a grand archive of all mail list traffic concerning or influencing the kernel development. Storing archives of patches here is a recommended practice, and when a maintainer applies a patch to a subsystem tree, it is a good idea to provide a Link: tag with a reference back to the lore archive so that people that browse the commit history can find related discussions and rationale behind a certain change. The link tag will look like this:”…””}”(hXÅ is meant as a grand archive of all mail list traffic concerning or influencing the kernel development. Storing archives of patches here is a recommended practice, and when a maintainer applies a patch to a subsystem tree, it is a good idea to provide a Link: tag with a reference back to the lore archive so that people that browse the commit history can find related discussions and rationale behind a certain change. The link tag will look like this:”hj%hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K$hjhžhubj:)”}”(hŒ,Link: https://lore.kernel.org/r/”h]”hŒ,Link: https://lore.kernel.org/r/”…””}”(hhhjJubah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸh¶h K,hjhžhubh¸)”}”(hŒyThis can be configured to happen automatically any time you issue ``git am`` by adding the following hook into your git::”h]”(hŒBThis can be configured to happen automatically any time you issue ”…””}”(hŒBThis can be configured to happen automatically any time you issue ”hjXhžhhŸNh NubhÑ)”}”(hŒ ``git am``”h]”hŒgit am”…””}”(hhhjahžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjXubhŒ, by adding the following hook into your git:”…””}”(hŒ, by adding the following hook into your git:”hjXhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K.hjhžhubj:)”}”(hX@$ git config am.messageid true $ cat >.git/hooks/applypatch-msg <<'EOF' #!/bin/sh . git-sh-setup perl -pi -e 's|^Message-I[dD]:\s*]+)>?$|Link: https://lore.kernel.org/r/$1|g;' "$1" test -x "$GIT_DIR/hooks/commit-msg" && exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} : EOF $ chmod a+x .git/hooks/applypatch-msg”h]”hX@$ git config am.messageid true $ cat >.git/hooks/applypatch-msg <<'EOF' #!/bin/sh . git-sh-setup perl -pi -e 's|^Message-I[dD]:\s*]+)>?$|Link: https://lore.kernel.org/r/$1|g;' "$1" test -x "$GIT_DIR/hooks/commit-msg" && exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} : EOF $ chmod a+x .git/hooks/applypatch-msg”…””}”(hhhjzubah}”(h]”h ]”h"]”h$]”h&]”jIjJuh1j9hŸh¶h K1hjhžhubeh}”(h]”Œ(creating-commit-links-to-lore-kernel-org”ah ]”h"]”Œ(creating commit links to lore.kernel.org”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K"ubeh}”(h]”Œconfiguring-git”ah ]”h"]”Œconfiguring git”ah$]”h&]”uh1h¡hhhžhhŸh¶h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h¶uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¦NŒ 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Œ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”‰Œfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œ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”‰Œ embed_images”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j•j’jjŠuŒ nametypes”}”(j•NjNuh}”(j’h£jŠjuŒ 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”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.