public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Add a tool to simplify patch checking and posting (patman)
@ 2015-05-03 18:29 Simon Glass
  2015-05-03 18:29 ` [PATCH 1/3] Add patman patch automation script Simon Glass
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Simon Glass @ 2015-05-03 18:29 UTC (permalink / raw)
  To: LKML
  Cc: Doug Anderson, Simon Glass, Tejun Heo, Mauro Carvalho Chehab,
	Greg KH, David S. Miller, Joe Perches, Andrew Morton

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-05-03 21:44 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-03 18:29 [PATCH 0/3] Add a tool to simplify patch checking and posting (patman) Simon Glass
2015-05-03 18:29 ` [PATCH 1/3] Add patman patch automation script Simon Glass
2015-05-03 19:16   ` Richard Weinberger
2015-05-03 19:54     ` Simon Glass
2015-05-03 20:13       ` Richard Weinberger
2015-05-03 20:40         ` Simon Glass
2015-05-03 20:43           ` Richard Weinberger
2015-05-03 21:43             ` Simon Glass
2015-05-03 18:29 ` [PATCH 2/3] Add tests for patman Simon Glass
2015-05-03 18:29 ` [PATCH 3/3] Add documentation " Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox