Messages in this thread | | | From | Simon Glass <> | Subject | [PATCH 0/3] Add a tool to simplify patch checking and posting (patman) | Date | Sun, 3 May 2015 12:29:54 -0600 |
| |
Preparing, checking and sending patches to a mailing list is a tedious and error-prone process. Dealing with multiple series, each which its own revision history, CC list, cover letter requires concentation. Mistakes are easy to make.
This tool aims to help with this. A single command generates the patch series, runs it through checkpatch, generates the cover letter, adds a change list to each patch and the cover letter, determines who should receive the patch and Ccs people on the patch either using maintainer information or tags in the commit subject. A dry-run mode allows output to be checked.
This tool makes patch series repeatable, since everything needed to create and send patches in stored in the git branch containing that series. When making a change to one commit you can update the change log in that commit and know that everything will turn out OK.
Specifically this tool is a Python script which (from the README): - Creates patch directly from your branch - Cleans them up by removing unwanted tags - Inserts a cover letter with change lists - Runs the patches through checkpatch.pl and its own checks - Optionally emails them out to selected people
It is intended to automate patch creation and make it a less error-prone process. It is useful for U-Boot and Linux work so far, since it uses the checkpatch.pl script.
It is configured almost entirely by tags it finds in your commits. This means that you can work on a number of different branches at once, and keep the settings with each branch rather than having to git format-patch, git send-email, etc. with the correct parameters each time. So for example if you put:
Series-to: fred.blogs@napier.co.nz
in one of your commits, the series will be sent there.
In Linux and U-Boot this will also call get_maintainer.pl on each of your patches automatically (unless you use -m to disable this).
I am submitting this to LKML to raise awareness, since those who are not involved in U-Boot probably don't know about it. I could not find a specific linux-tools list but may have missed something.
Simon Glass (3): Add patman patch automation script Add tests for patman Add documentation for patman
MAINTAINERS | 5 + tools/patman/.gitignore | 1 + tools/patman/README | 475 ++++++++++++++++++++++++++++++++ tools/patman/checkpatch.py | 173 ++++++++++++ tools/patman/command.py | 123 +++++++++ tools/patman/commit.py | 88 ++++++ tools/patman/cros_subprocess.py | 397 +++++++++++++++++++++++++++ tools/patman/get_maintainer.py | 47 ++++ tools/patman/gitutil.py | 582 ++++++++++++++++++++++++++++++++++++++++ tools/patman/patchstream.py | 488 +++++++++++++++++++++++++++++++++ tools/patman/patman | 1 + tools/patman/patman.py | 167 ++++++++++++ tools/patman/project.py | 27 ++ tools/patman/series.py | 271 +++++++++++++++++++ tools/patman/settings.py | 295 ++++++++++++++++++++ tools/patman/terminal.py | 158 +++++++++++ tools/patman/test.py | 243 +++++++++++++++++ 17 files changed, 3541 insertions(+) create mode 100644 tools/patman/.gitignore create mode 100644 tools/patman/README create mode 100644 tools/patman/checkpatch.py create mode 100644 tools/patman/command.py create mode 100644 tools/patman/commit.py create mode 100644 tools/patman/cros_subprocess.py create mode 100644 tools/patman/get_maintainer.py create mode 100644 tools/patman/gitutil.py create mode 100644 tools/patman/patchstream.py create mode 120000 tools/patman/patman create mode 100755 tools/patman/patman.py create mode 100644 tools/patman/project.py create mode 100644 tools/patman/series.py create mode 100644 tools/patman/settings.py create mode 100644 tools/patman/terminal.py create mode 100644 tools/patman/test.py
-- 2.2.0.rc0.207.ga3a616c
| |