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