Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751531AbbECTB1 (ORCPT ); Sun, 3 May 2015 15:01:27 -0400 Received: from mail-vn0-f73.google.com ([209.85.216.73]:34430 "EHLO mail-vn0-f73.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751035AbbECTBV (ORCPT ); Sun, 3 May 2015 15:01:21 -0400 X-Greylist: delayed 1394 seconds by postgrey-1.27 at vger.kernel.org; Sun, 03 May 2015 15:01:21 EDT From: Simon Glass To: LKML Cc: Doug Anderson , Simon Glass , Tejun Heo , Mauro Carvalho Chehab , Greg KH , "David S. Miller" , Joe Perches , Andrew Morton Subject: [PATCH 0/3] Add a tool to simplify patch checking and posting (patman) Date: Sun, 3 May 2015 12:29:54 -0600 Message-Id: <1430677797-20490-1-git-send-email-sjg@chromium.org> X-Mailer: git-send-email 2.2.0.rc0.207.ga3a616c Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4142 Lines: 94 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/