[PATCH] Documentation: Document how to get links with git am

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This adds Kees' clever apply hook to the kernel documentation so
it can be easily references when needed.

Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Link: https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2019-July/006608.html
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
---
 .../process/applying-patches-using-git.rst    | 43 +++++++++++++++++++
 Documentation/process/index.rst               |  1 +
 2 files changed, 44 insertions(+)
 create mode 100644 Documentation/process/applying-patches-using-git.rst

diff --git a/Documentation/process/applying-patches-using-git.rst b/Documentation/process/applying-patches-using-git.rst
new file mode 100644
index 000000000000..60955aa62d42
--- /dev/null
+++ b/Documentation/process/applying-patches-using-git.rst
@@ -0,0 +1,43 @@
+.. _applying_patches_using_git:
+
+Applying Patches to the Linux Kernel Using git
+++++++++++++++++++++++++++++++++++++++++++++++
+
+For the most part, using git to apply patches comes down to just following
+the established usage already documented in the git documentation. This is
+pretty intuitive since git was developed initially for Linux kernel
+development.
+
+In some cases the Linux kernel development has special quirks and usage
+patterns that are not an intrinsic part of git.
+
+This file documents some best practices.
+
+
+Creating commit links to lore.kernel.org
+========================================
+
+The web site http://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:
+
+    Link: https://lore.kernel.org/r/<message-id>
+
+This can be achieved by adding the following hook into your git:
+
+.. code-block:: none
+
+	$ git config am.messageid true
+	$ cat >.git/hooks/applypatch-msg <<'EOF'
+	#!/bin/sh
+	. git-sh-setup
+	perl -pi -e 's|^Message-Id:\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
diff --git a/Documentation/process/index.rst b/Documentation/process/index.rst
index e2c9ffc682c5..482b07402836 100644
--- a/Documentation/process/index.rst
+++ b/Documentation/process/index.rst
@@ -46,6 +46,7 @@ Other guides to the community that are of interest to most developers are:
    kernel-docs
    deprecated
    embargoed-hardware-issues
+   applying-patches-using-git
 
 These are some overall technical guides that have been put here for now for
 lack of a better place.
-- 
2.21.0




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux