diff mbox series

[2/2] patman: Add an option to create patches without binary contents

Message ID 1588380918-24051-2-git-send-email-bmeng.cn@gmail.com
State New
Headers show
Series [1/2] patman: Sort the command line options | expand

Commit Message

Bin Meng May 2, 2020, 12:55 a.m. UTC
Some mailing lists have size limits and when we add binary contents
to our patches it's easy to exceed the size limits.

Git supports a command line option "--no-binary" to generate patches
without any binary contents. Add an option in patman to handle this.
Note with this option patches cannot be applied properly, but they
are still useful for code review.

Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
---

 tools/patman/gitutil.py | 4 +++-
 tools/patman/main.py    | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

Comments

Simon Glass May 3, 2020, 2:26 a.m. UTC | #1
On Fri, 1 May 2020 at 18:55, Bin Meng <bmeng.cn at gmail.com> wrote:
>
> Some mailing lists have size limits and when we add binary contents
> to our patches it's easy to exceed the size limits.
>
> Git supports a command line option "--no-binary" to generate patches
> without any binary contents. Add an option in patman to handle this.
> Note with this option patches cannot be applied properly, but they
> are still useful for code review.
>
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
> ---
>
>  tools/patman/gitutil.py | 4 +++-
>  tools/patman/main.py    | 5 ++++-
>  2 files changed, 7 insertions(+), 2 deletions(-)
>

Reviewed-by: Simon Glass <sjg at chromium.org>

Can you also please update the docs?
diff mbox series

Patch

diff --git a/tools/patman/gitutil.py b/tools/patman/gitutil.py
index 770a051..72fc95d 100644
--- a/tools/patman/gitutil.py
+++ b/tools/patman/gitutil.py
@@ -254,7 +254,7 @@  def Fetch(git_dir=None, work_tree=None):
     if result.return_code != 0:
         raise OSError('git fetch: %s' % result.stderr)
 
-def CreatePatches(start, count, series):
+def CreatePatches(start, count, ignore_binary, series):
     """Create a series of patches from the top of the current branch.
 
     The patch files are written to the current directory using
@@ -270,6 +270,8 @@  def CreatePatches(start, count, series):
     if series.get('version'):
         version = '%s ' % series['version']
     cmd = ['git', 'format-patch', '-M', '--signoff']
+    if ignore_binary:
+        cmd.append('--no-binary')
     if series.get('cover'):
         cmd.append('--cover-letter')
     prefix = series.GetPatchPrefix()
diff --git a/tools/patman/main.py b/tools/patman/main.py
index 72c67b8..2951836 100755
--- a/tools/patman/main.py
+++ b/tools/patman/main.py
@@ -58,6 +58,9 @@  parser.add_option('-T', '--thread', action='store_true', dest='thread',
                   default=False, help='Create patches as a single thread')
 parser.add_option('--cc-cmd', dest='cc_cmd', type='string', action='store',
        default=None, help='Output cc list for patch file (used by git)')
+parser.add_option('--no-binary', action='store_true', dest='ignore_binary',
+                  default=False,
+                  help="Do not output contents of changes in binary files")
 parser.add_option('--no-check', action='store_false', dest='check_patch',
                   default=True,
                   help="Don't check for patch compliance")
@@ -144,7 +147,7 @@  else:
     if options.count:
         series = patchstream.GetMetaData(options.start, options.count)
         cover_fname, args = gitutil.CreatePatches(options.start, options.count,
-                series)
+                options.ignore_binary, series)
 
     # Fix up the patch files to our liking, and insert the cover letter
     patchstream.FixPatches(series, args)