pub/scm/linux/kernel/git/ebiggers/stable-tools.git  about / heads / tags
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/stable-tools.git/
$ 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