diff options
| author | Vadim Bendebury <vbendeb@chromium.org> | 2013-01-09 16:00:10 +0000 | 
|---|---|---|
| committer | Simon Glass <sjg@chromium.org> | 2013-01-31 15:23:40 -0800 | 
| commit | 99adf6eda7bed1beb3fa3e18951342f67b108db7 (patch) | |
| tree | c2152ac5209d0da1f51f95e7d366cf69f7c8e5da | |
| parent | 656cffeb49394f1cc935001f90337028e01472c5 (diff) | |
| download | olio-uboot-2014.01-99adf6eda7bed1beb3fa3e18951342f67b108db7.tar.xz olio-uboot-2014.01-99adf6eda7bed1beb3fa3e18951342f67b108db7.zip | |
patman: Allow use outside of u-boot tree
To make it usable in git trees not providing a patch checker
implementation, add a command line option, allowing to suppress patch
check. While we are at it, sort debug options alphabetically.
Also, do not raise an exception if checkpatch.pl is not found - just
print an error message suggesting to use the new option, and return
nonzero status.
   . unit test passes:
    $ ./patman  -t
    <unittest.result.TestResult run=7 errors=0 failures=0>
   . successfully used patman in the autotest tree to generate a patch
     email (with --no-check option)
   . successfully used patman in the u-boot tree to generate a patch
     email
   . `patman --help' now shows command line options ordered
     alphabetically
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Acked-by: Doug Anderson <dianders@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
| -rw-r--r-- | tools/patman/checkpatch.py | 10 | ||||
| -rwxr-xr-x | tools/patman/patman.py | 14 | 
2 files changed, 15 insertions, 9 deletions
| diff --git a/tools/patman/checkpatch.py b/tools/patman/checkpatch.py index f72f8ee26..d3a0477bb 100644 --- a/tools/patman/checkpatch.py +++ b/tools/patman/checkpatch.py @@ -23,6 +23,7 @@ import command  import gitutil  import os  import re +import sys  import terminal  def FindCheckPatch(): @@ -47,8 +48,10 @@ def FindCheckPatch():          if os.path.isfile(fname):              return fname          path = os.path.dirname(path) -    print 'Could not find checkpatch.pl' -    return None + +    print >> sys.stderr, ('Cannot find checkpatch.pl - please put it in your ' + +                '~/bin directory or use --no-check') +    sys.exit(1)  def CheckPatch(fname, verbose=False):      """Run checkpatch.pl on a file. @@ -67,9 +70,6 @@ def CheckPatch(fname, verbose=False):      error_count, warning_count, lines = 0, 0, 0      problems = []      chk = FindCheckPatch() -    if not chk: -        raise OSError, ('Cannot find checkpatch.pl - please put it in your ' + -                '~/bin directory')      item = {}      stdout = command.Output(chk, '--no-tree', fname)      #pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE) diff --git a/tools/patman/patman.py b/tools/patman/patman.py index e56dd0130..e049081ea 100755 --- a/tools/patman/patman.py +++ b/tools/patman/patman.py @@ -50,6 +50,9 @@ parser.add_option('-i', '--ignore-errors', action='store_true',         help='Send patches email even if patch errors are found')  parser.add_option('-n', '--dry-run', action='store_true', dest='dry_run',         default=False, help="Do a try run (create but don't email patches)") +parser.add_option('-p', '--project', default=project.DetectProject(), +                  help="Project name; affects default option values and " +                  "aliases [default: %default]")  parser.add_option('-s', '--start', dest='start', type='int',         default=0, help='Commit to start creating patches from (0 = HEAD)')  parser.add_option('-t', '--test', action='store_true', dest='test', @@ -58,11 +61,11 @@ parser.add_option('-v', '--verbose', action='store_true', dest='verbose',         default=False, help='Verbose output of errors and warnings')  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-check', action='store_false', dest='check_patch', +                  default=True, +                  help="Don't check for patch compliance")  parser.add_option('--no-tags', action='store_false', dest='process_tags',                    default=True, help="Don't process subject tags as aliaes") -parser.add_option('-p', '--project', default=project.DetectProject(), -                  help="Project name; affects default option values and " -                  "aliases [default: %default]")  parser.usage = """patman [options] @@ -146,7 +149,10 @@ else:      series.DoChecks()      # Check the patches, and run them through 'git am' just to be sure -    ok = checkpatch.CheckPatches(options.verbose, args) +    if options.check_patch: +        ok = checkpatch.CheckPatches(options.verbose, args) +    else: +        ok = True      if not gitutil.ApplyPatches(options.verbose, args,              options.count + options.start):          ok = False |