$ git log --pretty=format:'%h %s (%cs)%d'
5edede5 Fix finding the kernel version that a commit is based on (2023-05-14)
(HEAD -> master)
498904e Initial commit (2023-04-29)
$ git cat-file blob HEAD:README.md
# Introduction
This repository contains some scripts that may be helpful for maintenance of
stable and Long Term Support branches of the Linux kernel.
# Prerequisites
Install the following packages:
- `python`
- `python-requests`
- `python-beautifulsoup4`
# List of scripts
- `find-orig-patch`: Finds the original patch email from a git commit.
- `find-orig-series`: Finds the original patch series from a git commit.
- `find-missing-prereqs`: Finds patches that were backported without previous
patches in their original series also being backported.
For more information, run each script with `--help`.
If anything goes wrong, using the `--verbose` option might help diagnose it.
There are also tests, which can be run using `run-tests.sh`.
# Configuration
Settings such as the location of the Linux git repo are defined by the `Config`
in `stable_utils.py`. These settings can be overridden by creating a file
`config.py`, in this directory, that contains a method `customize(config)`. For
example, your `config.py` could contain:
```
import os
def customize(config):
config.linux_dir = os.getenv('HOME') + '/src/linux'
```
# Information sources
These scripts use two sources of information: a local Linux git repo and a
remote mailing list archive server.
## Linux git repo
`config.linux_dir` must be a clone of Linux that contains:
- Any git commit IDs that are explicitly specified in commands
- A git ref `config.upstream` (default: `origin/master`) that refers to the
latest mainline. This is used to check whether commits are "upstream".
- The history going back at least to `config.start_of_history` (default: `v4.0`)
## lore.kernel.org
`config.lore` (default: `https://lore.kernel.org`) must be a
[public-inbox](https://public-inbox.org/README.html) server that archives the
mailing lists that the patches for the git commits are sent to. The scripts
query this server to find patches.
These scripts make a large number of queries, so please don't run these scripts
excessively. However, all responses are cached for `config.lore_cache_timeout`
(default: 24 hours) in the `lore_cache` directory. So, redundant requests won't
be made if e.g. a script is run multiple times with the same arguments.
# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
* master Fix finding the kernel version that a commit is based on (2023-05-14)
# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
--format='%(refname:short) %(subject) (%(creatordate:short))'
# no tags, yet...
# associated public inboxes:
# (number on the left is used for dev purposes)
1 lkml
1 linux-nfs
1 netfilter-devel
1 linux-gpio
1 linux-rdma
1 dpdk-dev
1 linuxppc-dev
1 util-linux
1 git
1 dm-devel
1 u-boot
1 fio
1 poky
git clone https://80x24.org/lore/pub/scm/linux/kernel/git/ebiggers/stable-tools.git