2023-07-14 12:31:26 -06:00
Configuring Git
===============
2017-12-04 10:27:29 +11:00
This chapter describes maintainer level git configuration.
2023-07-14 12:31:26 -06:00
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
`` -u <key-id> `` 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::
2017-12-04 10:27:29 +11:00
git config user.signingkey "keyname"
2023-07-14 12:31:26 -06:00
Alternatively, edit your `` .git/config `` or `` ~/.gitconfig `` file by hand::
2017-12-04 10:27:29 +11:00
[user]
name = Jane Developer
email = jd@domain.org
signingkey = jd@domain.org
2023-07-14 12:31:26 -06:00
You may need to tell `` git `` to use `` gpg2 `` ::
2017-12-04 10:27:29 +11:00
[gpg]
program = /path/to/gpg2
2023-07-14 12:31:26 -06:00
You may also like to tell `` gpg `` which `` tty `` to use (add to your shell
rc file)::
2017-12-04 10:27:29 +11:00
export GPG_TTY=$(tty)
2019-11-18 23:30:19 +01:00
Creating commit links to lore.kernel.org
----------------------------------------
2023-07-13 16:05:10 -07:00
The web site https://lore.kernel.org is meant as a grand archive of all mail
2019-11-18 23:30:19 +01:00
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.
2023-07-14 12:31:26 -06:00
The link tag will look like this::
2019-11-18 23:30:19 +01:00
Link: https://lore.kernel.org/r/<message-id>
This can be configured to happen automatically any time you issue `` git am ``
2023-07-14 12:31:26 -06:00
by adding the following hook into your git::
2019-11-18 23:30:19 +01:00
$ git config am.messageid true
$ cat >.git/hooks/applypatch-msg <<'EOF'
#!/bin/sh
. git-sh-setup
2023-06-19 11:55:34 +02:00
perl -pi -e 's|^Message-I[dD]:\s*<?([^> ]+)>?$|Link: https://lore.kernel.org/r/$1|g;' "$1"
2019-11-18 23:30:19 +01:00
test -x "$GIT_DIR/hooks/commit-msg" &&
exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
:
EOF
$ chmod a+x .git/hooks/applypatch-msg